1

Jenkins 是一款开源 CI&CD 软件,用于自动化各种任务,包括构建、测试和部署软件。

我们一般就是用来发布项目的新版本以及支持版本的回滚。
因为正好要迁移服务器,就从头搭建了一遍。不过仅仅是实现了远程登录后的部署项目,至于像 Maven 打包后部署的项目还没有研究。

安装

安装前准备

软件环境

ubuntu-server-18.04

软件版本

长期支持版本 (LTS) (debian-stable)
实际使用下来,这个长期支持版本更新的也蛮频繁的。对于看见红色小角标就想点的我来说,简直不能忍,所以每次都想更新。

软件依赖

官网说明,Jenkins 是依赖 Java 的:

  • 2.164 (2019-02) and newer: Java 8 or Java 11
  • 2.54   (2017-04) and newer: Java 8
  • 1.612 (2015-05) and newer: Java 7

安装

参照官网的教程,其实安装是很简单的。有两种安装方式,都是基础的 ubuntu 命令:

1、添加源的方式安装

# 添加Jenkins源
wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add -
sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'

# 更新并安装
sudo apt-get update
sudo apt-get install jenkins

这里我选择的是长期支持版本,所以是 debian-stable,如果想用每周更新版,那就用 debian 替换 debian-stable 就好。不过目前这个官方源的速度国内堪忧,后面会说到。

2、下载 deb 文件后安装
官网下载对应版本的 deb,然后包管理安装就行。

sudo dpkg -i <package.deb>

安装完成后,Jenkins 就会启动了,默认端口是 8080,可以编辑 /etc/default/jenkins ,修改为需要的启动端口。

比如 ----HTTP_PORT=8080---- 修改为 ----HTTP_PORT=8081----

设置向导

浏览到 http://localhost:8080(或安装时为Jenkins配置的任何端口),并等待解锁 Jenkins页面出现。

setup-jenkins-01-unlock-jenkins-page.jpg

实际的解锁密码路径有可能不是这个,比如我的服务器就是 /var/lib/jenkins/secrets/initialAdminPassword
然后按照指示进行下去,创建一个管理员帐号,就能开始使用了。

更新

1、Jenkins 版本更新升级

  • 下载提示的 jenkins.war 包,上传到服务器
  • 查看 jenkins.war 的目录,比如是:/usr/share/jenkins/jenkins.war,可用如下命令查看:

    ps aux | grep jenkins
  • 备份初始的 jenkins.war 包:cp /usr/share/jenkins/jenkins.war jenkins.war.bak
  • 停止服务:/etc/init.d/jenkins stop
  • 替换新的 war 包后,启动服务:/etc/init.d/jenkins start

2、Jenkins 插件升级
点击 系统管理 --> 插件管理 --> 可更新,勾选需要更新的插件更新即可。
之前一直都是这样一键升级,一般不会有什么问题,直到最近发现一直出现连接或下载超时。

发现是 Jenkins 的官方源太慢了,遇到这种情况,替换源就好了。
这里有清华大学的源推荐使用:https://mirrors.tuna.tsinghua.edu.cn/jenkins/
点击 系统管理 --> 插件管理 --> 高级 --> 升级站点
URL 输入框中填入对应版本的源 update-center.json 文件提交即可,比如:https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/stable-2.204/update-center.json
然后再获取更新就很顺利了。

0、Jenkins 引起的系统更新
在使用方式一(添加源的方式)安装 Jenkins 后,会在系统的检查更新中添加 Jenkins,如果访问超时,会影响日常的系统更新维护。
我是直接把他移除了,mv /etc/apt/sources.list.d/jenkins.list jenkins.list.bak
有了上述两步骤的更新,这个其实已经不需要了。


ARS_HEI
25 声望1 粉丝

No cafe && cola, Before 1AM