跳到主要内容

Jenkins不完全折腾手册

使用 docker-compose 启动 Jenkins

version: '3'
services:
jenkins:
image: 'jenkins/jenkins:lts'
container_name: jenkins
restart: always
ports:
- '8088:8080'
- '50000:50000'
volumes:
- './data:/var/jenkins_home'

第一次启动时会让你输入启动密钥,可通过 docker ps 查看运行的容器 ID,然后通过 docker logs $CONTAINER_ID 进行查看。

启动后,可以安装 Jenkins 推荐的所有插件,若遇到问题,可以修改更新源文件,位置为:$JENKINS_HOME/hudson.model.UpdateCenter.xml

基本配置流程

  • 设置时区
  • 安装 Blue Ocean 插件并进行切换

插件相关

nvm wrapper

可以在构建环境中使用 nvm 来进行方便地对 node 环境进行版本管理。

Publish Over SSH

可以在构建完成后,使用 scp 命令将资源上传到服务器,或是在服务器执行相关命令。

在项目的配置页面无法新增 SSH Servers,因此需要在这里进行新增:

image

一些问题

使用 SCM 每分钟触发进行测试

当我把 Schedule 设置为:H/1 * * * * ,很不可思议的是没有起任何效果,后来发现这是一个典型的问题:JENKINS-22129

简单来讲,这里有两个事实需要区分:

  • H/1 * * * *,表示每小时拉取一次
  • H/2 * * * *,表示每分钟拉取一次

如果需要使用每分钟,可以将 Schedule 设置为:* * * * *

OpenSSH Key 无效

相关 Issue:JENKINS-57495,Jenkins 不支持最新的 OpenSSH 格式,需要使用老版的。

因此,使用这种形式即可生成一个老版的密钥:ssh-keygen -t rsa -C "jenkins" -m PEM