Appearance
Jenkins安装及使用
使用docker-compose创建应用
我们选择下载 jenkinsci/blueocean(这个是jenkins集成blueocean的插件,可视化流⽔线)
创建jenkins目录
bash
mkdir /software/docker/jenkins创建docker-compose.yml文件
yaml
version: '3'
services:
jenkins-blueocean:
image: jenkinsci/blueocean
restart: unless-stopped
user: root
environment:
TZ: Asia/Shanghai
ports:
- '8080:8080'
volumes:
- './data:/var/jenkins_home'
- '/var/run/docker.sock:/var/run/docker.sock'
- '$HOME:/home'运行docker-compose
bash
docker-compose up注:-v /var/run/docker.sock:/var/run/docker.sock 或让jenkins使用宿主机的docker,docker也是jenkins默认的agent
运行成功后,我们就可以通过8080端口来访问到Jenkins了
开始使用Jenkins

这个密码 运⾏查看jenkins容器的⽇志,拉到最后可以看到


耐⼼的等待安装完成

创建第⼀个管理员⽤户

设置好地址并重启,刷新页面后进入到登录页面

使用刚才设置的管理员密码登录到首页

jenkins的⼊⻔教程必须要花时间先看⼀下,主要了解⼀下任务,声明式和脚本式的两种流⽔线写法,流⽔线步骤
必要插件和前期准备
为了让我们的工作流能能够正常的跑起来,我们需要给jenkins安装些必要的插件和配置
先来升级下我们的插件

先别重启,切换到可选插件tab安装些其他的插件
Build Timestamp

这个插件可以让我们在流水线中使用BUILD_TIMESTAMP这个环境变量,并且我们可以配置它的格式。安装好后,我们去配置下
点击 系统管理 -> 系统配置 找到Build Timestamp部分

我们可以对时间的格式进行设置,比如我们想要的格式20210826,同时也可以增加一些其他的变量来获得一些其他格式的时间。修改完后记得点保存
Docker

让流水线具备使用docker命令的能力
SSH Pipeline Steps

为Jenkins 流水线步骤提供 SSH配套工具,例如用于持续交付的命令执行或文件传输。详见
Multibranch Scan Webhook Trigger

用于我们在创建多分支流水线任务时作为webhook触发器使用

好了,再安装好以上插件后让我们来重启下jenkins

在访问地址后加上restart点击是即可重启jenkins,如过没有自动刷新请手动刷新页面
开始我们的第一个任务
创建一对公私钥
为了能够让jenkins能够拉取到git仓库(我们使用的码云)的代码,我们需要创建一对公私钥,将私钥上传至jenkins的凭据中,公钥上传至码云的ssh公钥中
bash
ssh-keygen -t rsa -f jenkins-gitee -C "evanyung@zkjg.com"
passphrase可以设置为空,执行完后会看到生成的公私钥

下面我们将私钥上传到jenkins的凭据中
点击 系统管理 -> Manage Credentials

点击添加凭据,选择SSH Username with private key

ID、描述、username可以随意填写,将之前生成的私钥里的内容复制到key里面,passphrase没设置可以不填,点击确定生成凭据
接下来我们要将之前生成的公钥给配置到码云上,这样jenkins才能拉取到码云上的分支

配好之后就可以开始我们的第一个任务了
新建一个任务
点击新建任务 -> 输入任务名称 -> 选择”多分支流水线“ -> 点击确定


接下来点击分支源选择git,将码云仓库的ssh地址复制过来,凭据选择我们刚才创建的ssh凭据


然后我们需要添加一些策略,让jenkins选择扫描哪些分支

我们在这里选择只让jenkins扫描release和master分支

再下一步,来添加webhook,让码云主动告知jenkins该工作了
勾选Scan by webhook,trigger token为触发地址的token可以随意填(注意不要和别的任务冲突),webhook触发地址就为 JENKINS_URL/multibranch-webhook-trigger/invoke?token=[Trigger token]
JENKINS_URL为jenkins的访问地址 [Trigger token]为我们刚才填写的token

点击保存,这时候就能看到jenkins在扫描码云仓库上的分支了

下面我们在码云上配置下webhook吧
进入到码云仓库 -> 管理 -> WebHooks -> 添加 WebHook
配置我们的webhook地址点击添加


到这里整个创建任务算结束了,如果项目根目录中有Jenkinsfile文件的话,jenkins会执行文件中的流水线,打开 Blue Ocean就能可视化的看到整个流水线的过程

