•  

【Jenkins】Jenkins学习笔记

发表于 2019-01-25,阅读 62

介绍

工作原理

jenkins在持续集成工作当中起到的作用,简单一句话就是:手动转自动

一般情况下,如果没有jenkins工具,我们要发版上线功能的流程是:

从版本库检出最新代码 》部署到灰度机器 》进行自动化测试 》将灰度机器连接Nginx

这里面的每一个环节都需要人员去一步一步操作,即便有脚本辅助,还是会有风险,而且时间成本高。

使用jenkins工具把这一系列的事情都自动完成,并记录构建记录,就可以大大降低发版风险,提高发版效率。

安装

下载

Jenkins

打开网址 https://jenkins.io/zh/download/

选择自己的操作系统版本

我们使用的是 Red hat/Fedora/CentOS

JDK

必须通过网页下载,需要勾选“接受协议”,所以不能用wget直接下载了

网页地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

安装

安装wget

yum -y install wget

下载rpm包

wget https://pkg.jenkins.io/redhat-stable/jenkins-2.150.2-1.1.noarch.rpm

安装rpm包

rpm -ivh jenkins-2.150.2-1.1.noarch.rpm

安装jdk

将下载的jdk软件包上传到centos解压缩到 /tongfu.net/env/ 目录

tar -xzvf jdk-8u192-linux-x64.tar.gz -C /tongfu.net/env/

建立jenkins目录

mkdir -p /tongfu.net/env/jenkins/bin/
mkdir -p /tongfu.net/env/jenkins/logs/

开始使用

调整

限制内存使用

我们要对jenkins使用的jvm的内存使用做一下限制,否则系统有可能会被jenkins跑死

在JENKINS_JAVA_OPTIONS增加 -Xmx512m 设置,限制jenkins最大使用内存512MB

# vi /etc/sysconfig/jenkins

JENKINS_JAVA_OPTIONS="-Djava.awt.headless=true -Xmx512m"

启动

默认自启动

使用rpm安装jenkins会自动安装系统服务

默认系统服务里的java路径是/usr/bin/java,如果我们环境里不止一个jdk的话,可以进入下面的路径下修改

# vi /etc/rc.d/init.d/jenkins

/usr/bin/java -> /tongfu.net/env/jdk1.8.0_192/bin/java

CentOS7自启动

CentOS 7下jenkins默认的脚本无法使用

原因是因为CentOS 7废弃了daemon和killproc命令

需要我们建立CentOS 7的自启动脚本

CentOS7启动脚本

cat > /tongfu.net/env/jenkins/bin/jenkins-start <<EOF
#!/bin/sh

# env
export PATH

# argv
jenkinsRoot=/tongfu.net/env/jenkins
jdkRoot=/tongfu.net/env/jdk1.8.0_192
httpPort=9090
logFile=\$jenkinsRoot/logs/jenkins.log

# start
\$jdkRoot/bin/java -jar /usr/lib/jenkins/jenkins.war --httpPort=\$httpPort --logfile=\$logFile --daemon
EOF

CentOS7停止脚本

cat > /tongfu.net/env/jenkins/bin/jenkins-quit <<EOF
#!/bin/sh

# env
export PATH

# argv
pid="\`/bin/ps -ef | grep '/usr/lib/jenkins/jenkins.war' | grep -v 'quit' | grep -v 'grep' | awk '{print \$2}'\`"

# quit
if [ ! "" = "\$pid" ] ; then
    /bin/kill \$pid
fi
EOF

CentOS7授权脚本

chmod 0755 /tongfu.net/env/jenkins/bin/jenkins-start
chmod 0755 /tongfu.net/env/jenkins/bin/jenkins-quit

CentOS7删除默认自启动脚本

要使用我们的自启动脚本需要删除rpm安装包自己安装的那个脚本

rm -f /etc/rc.d/init.d/jenkins
systemctl daemon-reload

CentOS7自启动脚本

cat > /lib/systemd/system/jenkins.service <<EOF
[Unit]
Description=httpd
After=network.target

[Service]
Type=forking
ExecStart=/tongfu.net/env/jenkins/bin/jenkins-start
ExecStop=/tongfu.net/env/jenkins/bin/jenkins-quit
PrivateTmp=true

[Install]
WantedBy=multi-user.target
EOF

使用自启动命令

使用 systemctl 管理 jenkins 服务

systemctl enable jenkins # 设置自动启动

systemctl start jenkins # 启动服务

systemctl stop jenkins # 停止服务

systemctl restart jenkins # 重启服务

初始化

打开浏览器,输入网址 http://[IP]:8080/

1111111.jpg

查看初始化管理员密码

# cat cat /var/lib/jenkins/secrets/initialAdminPassword
784e265672c843729ff09d3cbd18849d

插件选择,选择Select plugins to install

222222.jpg

可以根据自己的情况选择安装哪些插件

333333.jpg

点击install后,开始安装

4444444.jpg

创建管理账号,建议不要使用系统默认的admin

555555.jpg

选择访问地址,可以设置外部访问的域名和端口

6666666.jpg

看到如下画面就表示安装成功了!

7777777.jpg

如果打开首页发现页面空白没有反应,可以重启一下jenkins服务,再刷新页面

systemctl restart jenkins


打开浏览器,输入网址 http://[IP]:8080/login

88888888.jpg

可以使用admin加系统生成的密码登录

也可以使用刚刚初始化过程中创建的用户登录

配置Git

创建任务

9999999.jpg

在全局工具配置里找到git

工作目录

jenkins工作目录

jenkins的工作目录在 /var/lib/jenkins/workspace/,我们构建的代码都在这个目录下面

删除

删除jenkins

如果要删除jenkins,可以执行下面的命令

systemctl stop jenkins
yum -y remove jenkins
systemctl daemon-reload
rm -rf /var/cache/jenkins
rm -rf /var/lib/jenkins/

待续。。

鬼谷子叔叔
  • 日志:126
  • 回复:13

进入ta的主页