1 工具及环境
操作系统:CentOS7
软件:jenkins,nginx,git,nodejs,gogs
其他工具包:JDK1.8
2 安装Jenkins
root用户在home目录下创建jenkins目录,到官网下载Jenkins的war包。
mkdir /home/jenkins
cd /home/jenkins
wget http://mirrors.jenkins.io/war-stable/latest/jenkins.war
jenkins需要jdk8以上的版本才能执行,将下载的jdk8拷贝到jenkins目录中(因为系统中有个7版本的jdk,且设置了java的环境变量,所以后续的步骤是使用jdk的绝对路径启动jenkins)。
tar -zxvf jdk-8u201-linux-x64.tar.gz
mv jdk1.8.0_201/ jdk1.8
使用nginx做jenkins的反向代理,nginx的配置
server {
listen 80;
server_name jenkins.example.com;
location / {
proxy_pass http://127.0.0.1:8500;
}
}
启动jenkins,设置监听8500端口
jdk1.8/bin/java -jar jenkins.war --httpPort=8500
这里我用root用户去启动jenkins,jenkins的工作目录会在/root/.jenkins中,上面的命令是在前台启动jenkins,且操作不方便操作,下面将采用服务的方式将jenkins添加到systemctl中,新建/etc/systemd/system/jenkins.service文件
[Unit]
#服务描述
Description=Jenkins service
[Service]
# 服务类型
Type=simple
# 启动用户和组
User=root
Group=root
# 工作目录,这里要是使用绝对路径
ExecStart=/home/jenkins/jdk1.8/bin/java -jar /home/jenkins/jenkins.war --httpPort=8500
# 添加到的组,没有这个会systemctl enable不起
[Install]
WantedBy=multi-user.target
启动jenkins服务,添加到开机自动启动
systemctl daemon-reload
systemctl start jenkins.service
sysetmctl enable jenkins.service
现在通过jenkins.example.com就能访问jenkins了,首次登陆需要输入密码,
![](https://img.haomeiwen.com/i3944667/66c06d5863bed9a3.png)
密码存放在上图中红色部分的文件中,输入密码后,点击继续,安装插件,这里我使用的是推荐插件,如果有插件安装不成功也没有关系,后面可以在jenkins中单独安装,然后创建一个管理员账号。
3 安装持续集成工具
这里我使用的是gogs作为版本库,需要的插件和外部工具如下
名称 | 类型 | 说明 |
---|---|---|
gogs | 外部工具 | 存储源代码 |
git | 外部工具 | 负责向版本库gogs中拉取代码 |
Nodejs | jenkins插件 | 自动设置node的环境变量 |
Gogs-webhook | jenkins插件 | 能够接受gogs的webhook,达到自动构建的目的 |
3.1 安装git和node和插件
yum install git
使用rpm -ql git
查看git的安装路径是/usr/bin/git
,记住这个路径,后面在jenkins的全局工具设置是需要使用。运行jenkins后,在插件管理中,搜索安装nodejs,gogs插件
3.2 配置Jenkins
在全局工具配置中配置git和node,配置git时需要用到上面提到的git路径,node这里采用自动安装。
![](https://img.haomeiwen.com/i3944667/3218e2f5c7c96dd2.png)
![](https://img.haomeiwen.com/i3944667/0077da10910b047e.png)
在凭据中设置gogs的登录账号和密码,保证git能够从代码仓库中能够迁出源码。
4 创建jenkins任务
在主页中,点击创建一个新任务,选择自由风格的软件项目
![](https://img.haomeiwen.com/i3944667/6d3d121a7846a891.png)
进入配置页面后,由于安装了gogs-webhook的插件,可以看到有gogs webhook的选项,这里什么都不选择。
![](https://img.haomeiwen.com/i3944667/8467c1e3e938525b.png)
源码管理中,选git,然后输入要构建的库的地址,选择上面我们在凭证栏中输入的凭证。
![](https://img.haomeiwen.com/i3944667/6a91c5628a1492a8.png)
设置构建环境
![](https://img.haomeiwen.com/i3944667/09e7ae43bf3608ec.png)
构建
![](https://img.haomeiwen.com/i3944667/a8b7f6ae34a7fba7.png)
5 添加自动构建
在jenkins中安装了gogs webhook插件,它用于接收gogs发出的webhook通知,但jenkins收到gogs发出的通知后,会自动构建。具体需要在gogs中设置一个webhook
![](https://img.haomeiwen.com/i3944667/687b8041885a858c.png)
当这个项目的有提交时,gogs会向上面的jenkins地址发送通知,jenkins在收到通知后会根据项目名自动构建项目。
网友评论