Jenkins+Gitlab+Ansible自动化部署
(2021-08-10)
一、Jenkins 介绍
- Jenkins是一个开源持续集成工具,提供了软甲你开发的持续集成服务,支持主流软件配置管理,配合实现软件配置管理,持续集成功能。是主流的运维开发平台,兼容所有主流开发环境,插件市场可与海量业内主流开发工具实现集成,Job为配置单位与日志管理,使运维与开发人员能协同工作。丰富的权限管理划分不同Job不同角色;强大的负载均衡功能,保证我们项目的可靠性。
二、Jenkins 安装配置
1、添加Jenkins yum仓库
官网地址 https://pkg.jenkins.io/redhat-stable/
2、安装 Jenkins
[root@jenkins ~]# wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
[root@jenkins ~]# rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
安装Java
[root@jenkins ~]# yum install -y java
[root@jenkins ~]# java -version
openjdk version "1.8.0_292"
OpenJDK Runtime Environment (build 1.8.0_292-b10)
OpenJDK 64-Bit Server VM (build 25.292-b10, mixed mode)
安装Jenkins
[root@jenkins ~]# yum list | grep 'jenkins'
jenkins.noarch 2.289.3-1.1
[root@jenkins ~]# yum install -y jenkins
3、创建Jenkins系统服务用户并配置
# 创建Jenkins系统服务用户
[root@jenkins ~]# useradd deploy
[root@jenkins ~]# cp /etc/sysconfig/jenkins{,.bak}
[root@jenkins ~]# vim /etc/sysconfig/jenkins
# 大约在29行,改为deploy用户
29 JENKINS_USER="deploy"
# 确定Jenkins端口号8080
56 JENKINS_PORT="8080"
更改目录权限
[root@jenkins ~]# chown -R deploy:deploy /var/lib/jenkins/
[root@jenkins ~]# chown -R deploy:deploy /var/log/jenkins/
启动Jenkins
[root@jenkins ~]# systemctl start jenkins
[root@jenkins ~]# ss -anput| grep 8080
# 这里发现端口没起来,查看日志发现
[root@jenkins ~]# cat /var/log/jenkins/jenkins.log
java.io.FileNotFoundException: /var/cache/jenkins/war/META-INF/MANIFEST.MF (Permission denied)
# 然后赋予deploy目录权限
[root@jenkins ~]# chown -R deploy:deploy /var/cache/jenkins/
[root@jenkins ~]# systemctl restart jenkins
[root@jenkins ~]# ss -anput| grep 8080
tcp LISTEN 0 50 [::]:8080 [::]:* users:(("java",pid=12724,fd=144))
启动成功
4、登录jenkins web管理界面
三、Jenkins 构建
1、Freestyle Job与Pipeline Job区别