Fork me on GitHub
12 September 2017

目录

环境:

  • Ubuntu 16.04 LTS
  • OpenJDK 8
  • GitLab 9

1. 安装

wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add -

sudo vim /etc/apt/sources.list
deb https://pkg.jenkins.io/debian-stable binary/

sudo apt update && sudo apt install jenkins

2. 配置

# 修改端口,默认为8080, 修改为 11111
sudo vim /etc/default/jenkins

# port for HTTP connector (default 8080; disable with -1)
HTTP_PORT=11111

# 重启服务
sudo service jenkins restart

如果启动成功,可访问http://%{YOUR_IP_ADDRESS}:11111/来进行初始化。

  1. 输入/var/lib/jenkins/secrets/initialAdminPassword文件中的密码解锁
  2. 开始初始化配置,如下图所示 zdtefkofcy6nu3di ev9w7nrmspbn8kt9 coewnqfz9ja46lxr
  3. 按照要求配置完成之后,即可访问 5adt4ll1jfbf0f6r
  4. 安装Gitlab插件, GitLab Plugin 和 Gitlab Hook Plugin bnnf1fdzte1jdcxr

3. 添加任务

根据Jenkins提供的向导来创建任务,大概过程如下:

kbqpt4ikug2jra4i

pzkv1mjbd4fmkj4i

注意:Gitlab如果设置为私有项目的话,需要SSH key验证,

gz2moaiq0e0qw7b9

dv1k7qrb9p9tqpvi

项目创建完成之后,配置Gitlab的Web Hooks:

Jenkins Gitlab Hook Plugin提供的Web Hooks方式:

  • Build now hook http://your-jenkins-server/gitlab/build_now,如果未触发,可改为http://your-jenkins-server/gitlab/build_now/your-project-name
  • Notify commit hook http://your-jenkins-server/git/notifyCommit?url=<URL of the Git repository for the Gitlab project>

可在Gitlab的项目设置 > 集成下设置,如下所示:

30u6sbe5diyvte29

3rthak1175koi529

添加完成之后,可点击Test测试是否成功。

79z7v6zdlg1u4n29

4. 常见问题

4.1 忘记密码

用户的配置文件存储位置为/var/lib/jenkins/users,可通过修改用户目录下的config.xml来重置密码。

# 123456 对应的密码加密后的值
#jbcrypt:$2a$10$NqPv3NpgxkpQi/ffEsEkhuMZYpbKc5cVVrP60cD6MX5IujYkLlOGm

4.2 Blue Ocean

Jenkins 团队为了提供更好的流水线构建体验从而设计了”Blue Ocean”,主要特性:

  • 持续交付(CD)Pipeline的 复杂可视化 ,可以让您快速直观地理解管道状态。
  • Pipeline 编辑器 - 引导用户通过直观的、可视化的过程来创建Pipeline,从而使Pipeline的创建变得平易近人。
  • 个性化 以适应团队中每个成员不同角色的需求。
  • 在需要干预和/或出现问题时 精确定位 。 Blue Ocean 展示 Pipeline中需要关注的地方, 简化异常处理,提高生产力
  • 本地集成分支和合并请求, 在与GitHub 和 Bitbucket中的其他人协作编码时实现最大程度的开发人员生产力。

更多参考 Blue Ocean

参考