安装jenkins,初始化配置,权限颗粒化分配(提前linux需要安装jdk,git,maven等工具)。下一篇文章:jenkins找回密码,项目自动化部署(项目打包,tomcat部署, jar部署,远程ssh,shell脚本)

Jenkins自动化部署实现原理

858186-20190804162611917-80438542.png

 

 

1、下载jenkins

1.1、在官网下载文件

1.2、wget下载

国外网站下载速度超级慢,翻墙下载后上传到centos /home下

 

下载linux jenkins ,官网地址:https://www.jenkins.io/download/

微信截图_20200702153334.png

选择对应版本下载

微信截图_20200702153354.png

 

微信截图_20200702153909.png

 

 

2、安装jenkins

2.1、rmp 是 LINUX 下的一种软件的可执行程序,你只要安装它就可以了。这种软件安装包通常是一个RPM包(Redhat Linux Packet Manager,就是Redhat的包管理器),后缀是.rpm。

进入对应上传目录执行安装
rpm -ivh jenkins-2.174-1.1.noarch.rpm

2.2、查看安装目录配置jdk环境

whereis jenkins

安装目录 /usr/lib/jenkins下

微信截图_20200702154544.png

 

配置jdk环境

jenkins默认是openJDK对应选择自己的jdk环境目录就行

/usr/lib/jvm/jdk1.8.0_221/bin/java

cd  /etc/init.d
vim jenkins

微信图片_20200702154923.png

2.3、jenkins默认端口号是8080,跟tomcat冲突修改默认端口号

端口修改文件在这个目录 /etc/sysconfig/jenkins

vim /etc/sysconfig/jenkins

微信截图_20200702155438.png

2.4、启动jenkins

systemctl start jenkins.service

可能会报以下错误,执行一下配置更新再重启:systemctl daemon-reload

Warning: jenkins.service changed on disk. Run 'systemctl daemon-reload' to reload units.

Job for jenkins.service failed because the control process exited with error code. See "systemctl status jenkins.service" and "journalctl -xe" for details

重启
systemctl restart jenkins.service
查看状态
systemctl status jenkins.service
查看初始密钥
cd /var/lib/jenkins/secrets/
cat initialAdminPassword

微信截图_20200702160500.png

 

 

3、初始化jenkins及插件安装

3.1、浏览器输入对应centos ip和端口 http://192.168.2.125:8080

3.2、输入服务器查询到的密码进入推荐插件安装

20190423170929700.png

858186-20190804165826822-2086692477.png

微信截图_20200702165247.png

1534377bc70d80bc3611ea070f867851af1172.png

3.3、插件安装失败,重试一次能再次安装大部分插件,部分插件安装失败原因都是网络原因,建议本地vpn用下载插件包形式安装*.hpi,还有种方式jenkins支持配置代理下载插件

微信图片_20200702162852.png

报错日志:未能成远程地址下载

6.png

3.3.1  插件包形式安装插件(本地使用vpn下载插件包上传jenkins安装插件

5.png微信截图_20200703105816.png

 

微信截图_20200703110056.png

微信截图_20200703110220.png

下载好对应*.hpi文件后上传

微信截图_20200703110924.png

 

 

4、Jenkins基本配置

 

微信截图_20200703115533.png

4.1、远程主机SSH配置

        系统管理 >> 系统配置 拉倒最下面填写ssh配置(如果Publish over SSH插件安装失败这模块是不显示的

微信截图_20200703113526.png

        填写对应别名,ip, 账户名后点击高级配置,配置用户密码形式访问(根据自己需求来)

微信截图_20200703113739.png

 

4.2、工具及环境变量配置

4.2.1 系统管理 >> 全局工具配置(git,jdk,maven工具配置)

微信截图_20200703115856.png

微信截图_20200703115910.png

4.2.2、系统管理 >> 系统设置 (全局环境变量设置)

微信截图_20201013123014.png  

 

        

4.3、全局安全配置(主要配置角色用户权限)

        搜索安装对应插件"Role-based Authorization Strategy"

微信截图_20200703115229.png

4.3.1、配置插件角色管理: 系统管理 >>  Manage and Assign Roles  

微信截图_20200703120437.png

微信截图_20200703121441.png

微信截图_20200703121221.png

 

4.3.2、配置插件分配角色: 系统管理 >>  Manage and Assign Roles  

微信截图_20200703121951.png

4.3.3、对应项目权限如下图

微信截图_20200703122154.png

微信截图_20200703122316.png

微信截图_20200703122440.png

 

4.4、jenkins以root用户运行

       jenkins运行当前服务器shell报Operation not permitted因为jenkins运行用户为jenkins,改为root即可

 

        以centOS系统为例,记录下修改Jenkins以root用户运行的方法。

        修改Jenkins配置文件

# 打开配置文件
vim /etc/sysconfig/jenkins
#修改$JENKINS_USER,并去掉当前行注释
$JENKINS_USER="root"

修改Jenkins相关文件夹用户权限

chown -R root:root /var/lib/jenkins
chown -R root:root /var/cache/jenkins
chown -R root:root /var/log/jenkins

重启Jenkins服务并检查运行Jenkins的用户是否已经切换为root

# 重启Jenkins(若是其他方式安装的jenkins则重启方式略不同)
service jenkins restart
# 查看Jenkins进程所属用户
ps -ef | grep jenkins
# 若显示为root用户,则表示修改完成