jenkins_01_从0开始创建第一个pipeline
最近开始学习Jenkins,然而Jenkins官方文档对新手一点不友好,最终在摸爬滚打中搞定第一个pipeline。
参考:官方文档、创建pipeline、git报错
一、准备工作
根据官方文档介绍,在运行Jenkins之前,需要先安装以下软件。
Java8,docker,git(文档中没说,但是后续使用中发现,本机没装git会报错)。
- 安装Java8
[root@localhost ~]# yum install java-1.8
[root@localhost ~]# java -version
openjdk version "1.8.0_262"
OpenJDK Runtime Environment (build 1.8.0_262-b10)
OpenJDK 64-Bit Server VM (build 25.262-b10, mixed mode)
- 安装docker
[root@localhost ~]# yum install docker
[root@localhost ~]# docker --version
Docker version 1.13.1, build 7d71120/1.13.1
- 安装git
[root@localhost ~]# yum install git
[root@localhost ~]# git --version
git version 1.8.3.1
[root@localhost ~]# whereis git
git: /usr/bin/git /usr/share/man/man1/git.1.gz
二、下载并运行Jenkins
按照官方文档提供的地址,下载Jenkins
[root@localhost ~]# cd
[root@localhost ~]# wget http://mirrors.jenkins.io/war-stable/latest/jenkins.war
[root@localhost ~]# ls -l ./jenkins.war
-rw-r--r--. 1 root root 74258876 Jul 28 07:49 ./jenkins.war
运行Jenkins,注意运行后生成的密码,登陆时需要。
[root@localhost ~]# java -jar jenkins.war --httpPort=8080
*************************************************************
*************************************************************
*************************************************************
Jenkins initial setup is required. An admin user has been created and a password generated.
Please use the following password to proceed to installation:
9e55006d091d467688d0f8ed104a5afe
This may also be found at: /root/.jenkins/secrets/initialAdminPassword
*************************************************************
*************************************************************
*************************************************************
查看ip地址,并在浏览器中打开链接,可能会被防火墙拦截,造成无法访问,此时需要查看并配置防火墙。
[root@localhost ~]# ifconfig
ens32: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.2.108 netmask 255.255.255.0 broadcast 192.168.2.255
inet6 fe80::f23:178:69c:a87a prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:1b:26:bd txqueuelen 1000 (Ethernet)
RX packets 506959 bytes 755845882 (720.8 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 107427 bytes 7623918 (7.2 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
在页面中输入生成的的密码,并继续
按照说明完成安装
终于,完成了Jenkins的安装和运行!!!
三、运行第一个pipeline(从 github拉取)
这里开始参考创建第一个pipeline,官方文档中介绍的太笼统。
1、首先要解决Jenkins连接github的问题
在 Jenkins中,提供多种方式与github连接,这里使用的是最常用的用户名密码连接。用户名即GitHub账户的用户名,但是密码是在GitHub中生成的tokens密码,这也是我自己尝试连接一直连不上的原因。
- 首先登陆上自己的github账号,然后依次点击Settings–Developer Settings–Personal access tokens–Generate new token. 填写相关信息后点击Generate token生成密码。注意密码只显示一次,记得保存。
- 回到Jenkins中,按照下图2位置打开,添加凭据。
点击ok,添加凭据完成。理论上现在可以通过这个凭据从github上拉取pipeline了。
2、从github上拉取pipeline
- 首先需要将Jenkinsfile上传到仓库中。使用官方文档中提供的Jenkinsfile报错,不懂什么原因,仍然参考之前博客中的内容。复制仓库地址。
node {
stage('Build'){
echo 'I am doing the build!'
}
stage('Test'){
echo 'I am doing the Test'
}
stage('Deploy'){
try{
//执行部署任务
echo 'I am try to do the code deployment'
}
catch(error){
//捕捉错误并通知用户
}
}
}
- 回到Jenkins中,点击new item,输入name,选择pipeline最后点击ok。
在配置中,将pipeline按照下列方式配置,凭据若没有,可点击add重新添加一次。注意Branches to build–Branch Specifier (blank for ‘any’)处并不能留空,构建时会出错。参考:分支报错
填完后,Jenkins会去验真GitHub地址是否可达,此时会显示这样的错误:
这是因为Jenkins还没有与本机中安装的git关联,需要去设置中关联。先点击save,保存此pipeline。 - 关联本机git
回到jenkins主页,依次点击Manage Jenkins–Global Tool Configuration,找到git设置。然后将git位置填入;点击save保存。
- 开始构建
再次回到Jenkins主页,点击右边刚刚保存的pipeline,点击build now,最下方的构建历史中将出现本次构建,点击#1,可以查看构建详情。
在输出窗口,将看见构建的日志信息。最后看见success,第一次pipeline完美结束。