Jenkins安装部署及创建构件

Jenkins安装部署

Jenkins用于软件开发持续集成工具,我们可以用它来自动将软件从远程仓库下载下来,放到web服务器上显示。

开源软件安装三个步骤:安装,配置,部署

1.安装

jenkins官网:https://jenkins.io
官网下载rpm包进行安装,官网速度慢时可以去清华镜像下载
https://mirrors.tuna.tsinghua.edu.cn/jenkins/
网盘:

jenkins需要jdk支持

使用提前下载好的rpm包安装jdk:rpm -ivh jdk-8u121-linux-x64.rpm
或者使用yum安装jdk:yum -y install java-devel
测试:java -version

安装jenkins

rpm -ivh jenkins-2.99-1.1.noarch.rpm

启动服务

jenkins 默认监听8080端口
centos7下
启动服务:systemctl start jenkins
设置为开机启动服务:systemctl enable jenkins
同理:
status 为查看状态
stop 为终止服务
检测是否开启成功:netsta -ntpl 查看8080端口是否被监听

初始化配置

我的ip为10.0.0.12,即打开浏览器输入10.0.0.12::8080即可进入jenkins配置页面
登录管理员
根据提示,我们区该目录下找到管理员密码

[root@node2 jenkins]# cat /var/lib/jenkins/secrets/initialAdminPassword 
7b06db73ddb749829d44f6723be5784a

当我们进入安装插件页面时,点击x取消自动安装。因为插件要从官方下载,速度很慢,我们采取手动安装方法
配置页面

进入界面
主界面
我们可以进入系统管理-》管理用户-》修改管理员密码

安装插件

安装插件有三种方法
我们进入系统管理-》管理插件

方法一:直接安装

点击可选插件,即可选择相应插件
如果插件下载过慢,可以设置代理:高级-》代理设置

方法二:从清华镜像下载hpi包安装

清华镜像下载插件https://mirrors.tuna.tsinghua.edu.cn/jenkins/plugins/ 高级-》上传插件 即可

方法三:将hpi包放入plugins目录下

jenkins下所有配置都以文件方式保存
jenkins包放入插件目录,重启软件,自动安装插件
插件目录:/var/lib/jenkins/plugins/

tar xf plugins.tar.gz 
cd plugins/
mv ./*  /var/lib/jenkins/plugins/
systemctl restart jenkins 

推荐插件:网盘地址

2.新建构建

安装和配置jenkins和插件后就可以使用了

新建一个自由风格的软件项目

点击新建Item,输入任务名称,选择构建一个自由风格的软件项目即可

进入主配页面

General
项目文件存放在/var/lib/jenkins/jobs 下
项目工作目录 /var/lib/jenkins/workspace 运行结果放到该文件下
项目名:项目名一旦确最好不要修改,因为jobs下原文件不会在修改后删除

丢弃旧的构建

构建

构建
我们可以在构建.
选项卡中,构建一条shell脚本

注意

在shell脚本中,如果执行系统命令是没有权限的。
jenkins默认以jenkins用户启动,如果要执行系统命名,解决办法有两种:
1.手动授权,给jenkins权限
2.以root用户启动

进入配置文件
vim /etc/sysconfig/jenkins
修改文件,修改这一条 JENKINS_USER="root"
重启服务systemctl restart jenkins

测试

之后选取立即构建即可,然后我们在左下角查看构建记录

查看控制台输出

执行的工作目录
/var/lib/jenkins/workspace/jobs名称
builds:存放最后一次构建、最后一次成功构建
config.xml 记录了构建的配置信息

3.源码管理:获取git源代码

配置构建

进入构建-》配置 配置源码管理
源码管理
选择git
我们可以将git地址复制进去
从github或者是gitlab选择项目,复制源码
git

进行 ssh认证

执行命令ssh-keygen -t rsa,执行后一直敲回车结束就会生成密钥
获取密钥cat ~/.ssh/id_rsa.pub将密钥拷贝到github或gitlab的设置-》SSH keys中即可
注意:一个用户可以加入多个密钥,每个密钥只能对应一个用户

报错1:Error performing command

git
原因是没有安装git命名
解决办法:安装git命令
yum -y install git

报错2:Host key verification failed

git
原因是没有进行ssh认证,不能clone信息到本地

如果jenkins不是root用户运行,而是jenkins用户运行,则我们需要手动添加密钥

添加认证

方法一:使用SSH私钥对接公钥

linux下获取ssh私钥:cat ~/.ssh/id_rsa 拷贝全部内容
window下生产的ssh认证/c/Users/Administrator/.ssh/目录下

ID和描述可以自己设置,自定义

方法二:使用token

选择gitlab api token

gitlab:获取token认证
进入gitlab个人设置中

名字可以随意设置,过期日期不设置则用户过期
点击生成,复制生成的token填入即可
github:获取token
进入github个人设置界面

选择Develoger settings

即可创建github token

方法三:用户名密码

选择第一条username with password
输入相应网站的用户名和密码即可

测试

保存后,点击立即构建,查看工作空间是否有从git仓库下载的源码

4.构建:自动部署代码到web服务器上

通过上一步,从git仓库拉取代码到本地,我们可以写脚本将代码发送到web服务器上将其部署
具体操作如下

mkdir /server/script -p
cd /server/scripts/
vim deploy.sh

脚本内容

#!/bin/bash
name=web-$(date +%F)-$(($RANDOM+10000))
host=$1
job_name=$2
cd /var/lib/jenkins/workspace/${job_name} && tar czf /opt/${name}.tar.gz ./*
ssh ${host} "cd /var/www && mkdir ${name}"
scp /opt/${name}.tar.gz ${host}:/var/www/${name}
ssh ${host} "cd /var/www/${name} && tar xf ${name}.tar.gz && rm -f ${name}.tar.gz"
ssh ${host} "cd /var/www/ && rm -rf html && ln -s /var/www/${name} /var/www/html"

该脚本先从命令行获取ip和构建名
然后将本地job打包发送给web服务器,在web服务器(apache)上解包
然后配置jenkins的构建部分添加以下内容
sh /server/scripts/deploy2.sh 10.0.0.11 ${JOB_NAME}
${JOB_NAME}为jenkins环境变量,表示当前执行的构建名
保存执行即可

5.触发器:git仓库代码发生变化时,jenkins自动拉取代码

配置构建,选择构建触发器


可以选择远程触发;在执行完其他构建触发;定时任务;定时检查git或svn有没有更新,有更新执行构建;如果push到gitlab就执行构建。。。

选择高级


因为我们在源码管理里面只引入了master分支,所以在这里只要设置master分支更新了,就触发这个构建即可

其次,Secret token配置,点击generate创建token。将token和Service URL填入gitlab中(settings->integrations)即可

测试

只要我们push源码gitlab中,就可以通过gitlab通知jenkins触发构建,实现jenkins自动从gitlab上下载这个项目的master分支,并执行脚本,将其部署到Apache上

6.配置git仓库获取jenkins构建状态

配置jenkins

进入系统管理-》系统配置->找到gitlab一栏

添加tokens认证

我们这时候去gitlab上获取token即可
settings-》access tokens
ID和描述可以自定义

配置构建

进入jenkins项目构建的配置页面,选择构建后操作

保存,然后选择立即构建

测试

立即构建后,我们可以通过gitlab查看到jenkins对这个项目的构建情况

构建通过

也可查到具体情况

总结

安装jenkins后,并配置好构建这一系列操作完成后,我们可以在本地上传代码到gitlab远程仓库中,gitlab就会提醒jenkins触发构建,获取gitlab上的代码,并执行我们编写的脚本,将获取的代码发送给web服务器,web服务器就可以显示我们的代码,执行结束后返回执行结果给gitlab

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值