DevOps / Jenkins

Jenkins部署和实战教程

温馨提示:本文最后更新于2021-03-02 18:31:57,某些文章具有时效性,若有错误或已失效,请在下方留言或提交工单提交工单
浅时光 · 2月8日 · 2020年 本文3533个字,预计阅读9分钟 70979次已读

1、Jenkins介绍

  • Jenkins官网:jenkins
  • Jenkins是一个开源的软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作(文章来源(Source):https://www.dqzboy.com代码合并),旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。
  • 主流的运维开发平台,兼容所有原文链接:https://www.dqzboy.com的主流开发环境
  • 插件市场与海量业内主流开发工具实现集成
  • Job为配置单位与日志管理,使运维开发人员能协同工作
  • 权限管理划分不同的Job不同角色
  • 强大的负载均衡功能,保证我们项目的可靠性

2、安装部署

2.1、环境准备

2.1.1:主机名更改

[root@localhost ~]# hostnamectl set-hostname jenkins

2.1.2:防火墙配置

# 查看放开的端口
[root@jenkins ~]# firewall-cmd --zone=public --list-ports

# 放开端口
[root@jenkins ~]# firewall-cmd --permanent --zone=public --add-port=8080/tcp

# 使其规则生效
[root@jenkins ~]# firewall-cmd --reload

2.1.3:关闭SELINUX

[root@jenkins ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux
[root@jenkins ~]# setenforce 0

[root@jenkins ~]# getenforce 
Permissive
[root@jenkins ~]# sestatus
SELinux status:                 disabled

2.1.4:设置epel源、安装基本操作命令

[root@gitlab ~]# yum -y install wget

[root@gitlab ~]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

[root@gitlab ~]# yum install -y net-tools vim lrzsz tree screen lsof tcpdump ntpdate

2.1.5:时间同步

[root@gitlab ~]# cp /usr/share/zoneinfo/Asia/Shanghai  /etc/localtime 

[root@gitlab ~]# echo "*/5 * * * *  ntpdate time1.aliyun.com &> /dev/null && hwclock -w" >> /var/spool/cron/root

[root@gitlab ~]# systemctl  restart crond

2.2:下载软件

2.2.1:下载jdk

2.2.2:下载jenkins

Jenkins部署和实战教程-浅时光博客
  • 推荐使用war包方式安装,通过Tomcat启动

2.3:安装部署

2.3.1:安装JDK

  • YUM安装的是系统默认openjdk,我这里采用安装oracle jdk,不使用openjdk
  • jenkins不支持最新版本的jdk,推荐安装稳定版本的jdk8
Jenkins部署和实战教程-浅时光博客
[root@jenkins ~]# cd /opt/soft
[root@jenkins soft]# rpm -ivh jdk-8u231-linux-x64.rpm

2.3.2:jenkins安装文章来源(Source):浅时光博客

  • 采用tomcat运行jenkins,为了解决jenkins用户权限的问题
#创建普通用户
[root@jenkins ~]# useradd deploy
#下载安装Tomcat
[root@jenkins ~]# tar -xf apache-tomcat-9.0.27.tar.gz -C /usr/local/
[root@jenkins ~]# cd /usr/local/
[root@jenkins local]# mv apache-tomcat-9.0.27 tomcat

#编辑systemd服务脚本
[root@jenkins ~]# vim /usr/lib/systemd/system/tomcat.service
[Unit]
Description=tomcat
After=network.target

[Service]
User=deploy
Group=deploy
Type=forking

ExecStart=/usr/local/tomcat/bin/startup.sh
ExecStop=/usr/local/tomcat/bin/shutdown.sh
PrivateTmp=true

[Install]
WantedBy=multi-user.target
#删除webapps下默认的文件,将jenkins的war包放入webapps目录下,更改Tomcat默认访问路径
[root@jenkins ~]# mv jenkins.war /usr/local/tomcat/webapps/
[root@jenkins ~]# vim /usr/local/tomcat/conf/server.xml
<Context path="" docBase="jenkins" debug="0" reloadable="true" />
Jenkins部署和实战教程-浅时光博客
#修改Jenkins的默认工作主目录(配置文件,job等都会存储在该路径下)
[root@jenkins ~]# cd /usr/local/tomcat/bin/
[root@jenkins bin]# vim catalina.sh
export JENKINS_HOME="/opt/jenkins"
Jenkins部署和实战教程-浅时光博客
#更改tomcat目录的权限
[root@jenkins ~]# chown -R deploy:deploy /usr/local/tomcat
#创建Jenkins的工作目录
[root@jenkins ~]# mkdir /opt/code/workspace
[root@jenkins ~]# chown -R deploy:deploy /opt/jenkins

#启动tomcat
[root@jenkins ~]# systemctl daemon-reload
[root@jenkins ~]# systemctl start tomcat
[root@jenkins ~]# systemctl enable tomcat
[root@jenkins ~]# lsof -i:8080

2.3.3:jenkins主要目录

/usr/lib/jenkins/    #jenkin安装目录,war包存放目录
/etc/sysconfig/jenkins   #jenkins配置文件,”端口”、 ”JENKINS_HOME”等都在此文件中设置
/var/lib/jenkins   #默认的JENKINS_HOME
/var/log/jenkins/jenkins.log  #jenkins日志文件

3、Jenkins配置

3.1:访问页面

  • jenkins默认端口8080
Jenkins部署和实战教程-浅时光博客

3.2:拷贝密码

[root@jenkins ~]# cat /opt/code/workspace/secrets/initialAdminPassword
Jenkins部署和实战教程-浅时光博客
  • 安装推荐的插件即可
Jenkins部署和实战教程-浅时光博客
Jenkins部署和实战教程-浅时光博客
Jenkins部署和实战教程-浅时光博客
Jenkins部署和实战教程-浅时光博客
Jenkins部署和实战教程-浅时光博客

3.3:登入Jenkins

Jenkins部署和实战教程-浅时光博客
Jenkins部署和实战教程-浅时光博客

4、Jenkins Job介绍

4.1:Jenkins Job介绍

  • 代表也给任务或者项目
  • 可配置与可执行
  • 执行后的记录称之为Build
  • 日志监控与记录
  • 所有文件集中保存

4.2:Freestyle Job与Pippeline Job区别

4.2.1: Freestyle Job

  1. 需在页面添加模块配置项与参数完原文链接:https://www.dqzboy.com成配置
  2. 每个Job仅能实现一个开发功能
  3. 无法将配置代码化,不利于Job配置迁移与版本控制
  4. 逻辑相对简单,无需额外的学习成本

4.2.2: Pippeline Job

  1. 所有模块,参数配置都可以体现为一个pipeline脚本
  2. 可以定义多个stage构建一个管道工作集
  3. 所有配置代码化,方便Job配置迁移与版本控制
  4. 需要pipeline脚本语法基础
  • 最大区别:freestyle方便配置但不易于项目管理,pipeline方便项目管理,但是需要一定的学习成本

5、jenkins插件安装

Jenkins部署和实战教程-浅时光博客
Jenkins部署和实战教程-浅时光博客
Jenkins部署和实战教程-浅时光博客
Jenkins部署和实战教程-浅时光博客
Jenkins部署和实战教程-浅时光博客
在Jenkins文章来源(Source):https://www.dqzboy.com页面上安装插件
Jenkins部署和实战教程-浅时光博客
Jenkins部署和实战教程-浅时光博客
Jenkins部署和实战教程-浅时光博客
Jenkins部署和实战教程-浅时光博客

6、Jnekins创建视图

针对不同的环境创建不同的视图
Jenkins部署和实战教程-浅时光博客
Jenkins部署和实战教程-浅时光博客
Jenkins部署和实战教程-浅时光博客
Jenkins部署和实战教程-浅时光博客
Jenkins部署和实战教程-浅时光博客
Jenkins部署和实战教程-浅时光博客
Jenkins部署和实战教程-浅时光博客

以上就是一些jenkins一些简单的教程,大家如果有任何问题都可以留言,希望本文章可以帮助到大家。




本文作者:浅时光
原文链接:https://www.dqzboy.com/434.html
版权声明:知识共享署名-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)协议进行许可
转载时请以超链接形式标明文章原始出处和作者信息

9 条回应

必须 注册 为本站用户, 登录 后才可以发表评论!

  1. 哈利路亚上海2021-7-16 · 16:34

    图片看不清

  2. 花粥未知2020-11-22 · 17:50

    给博主点赞,写的不错

  3. 111未知2020-11-20 · 14:48

    就是那种点击一点图片会放大,我看见别的网站有

    • 浅时光
      浅时光上海2020-11-20 · 14:50

      我这个目前不支持,后面抽时间我加个

  4. 111未知2020-11-20 · 14:43

    图片点击不能放大,看不清

    • 浅时光
      浅时光上海2020-11-20 · 14:44

      这个是wp自动压缩了,抽时间我重新上传下

  5. nicely未知2020-8-13 · 23:23

    不错不错

本站已稳定运行: | 耗时 0.260 秒 | 查询 21 次 | 内存 11.33 MB