Ubuntu上Jenkins搭建过程
原文链接:https://www.cnblogs.com/big-ming/p/12523117.html
参考链接:https://blog.****.net/luoww1/article/details/100095889
一、Jenkins介绍#
Jenkins是一款开源自动化服务器,旨在自动化连续集成和交付软件所涉及的重复技术任务。 Jenkins是基于Java的,可以从Ubuntu软件包安装,也可以通过下载和运行其Web应用程序ARchive(WAR)文件进行安装 - 构成一个完整的Web应用程序的集合,该文件旨在在服务器上运行。
在本教程中,我们将通过添加其Debian软件包存储库来安装Jenkins,然后使用该存储库使用apt-get
安装软件包。
先决条件#
要遵循本教程,您将需要:
-
一个Ubuntu 16.04 或者 Ubuntu18.04服务器
配置了非root用户和防火墙策略(云服务器在控制台配置安全组策略) - 服务器配置1C2G朝上
- 安装Java SDK
安装Java SDK#
由于默认的更新源比较慢,修改为阿里云的更新源
sudo vim /etc/apt/sources.list
清空文件内容,添加如下内容:
deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted
deb http://mirrors.aliyun.com/ubuntu/ xenial universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
deb http://mirrors.aliyun.com/ubuntu/ xenial multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu xenial-security main restricted
deb http://mirrors.aliyun.com/ubuntu xenial-security universe
deb http://mirrors.aliyun.com/ubuntu xenial-security multiverse
正式安装java jdk
sudo apt-get update sudo apt-get install -y openjdk-8-jdk sudo apt-get clean all
二、安装Jenkins#
注意:这里我是单独用了一台服务器,来安装Jenkins,资源有限,这台服务器既是测试环境也是Jenkins机器
包含在默认Ubuntu软件包中的Jenkins版本往往落后于项目本身的最新版本。 为了利用最新的修复和功能,我们将使用项目维护的软件包来安装Jenkins。
首先,我们将存储库**添加到系统。
wget -q -O - https://pkg.jenkins.io/debian/jenkins-ci.org.key | sudo apt-key add -
添加**后,系统将返回OK
。 接下来,我们将Debian包存储库地址附加到服务器的sources.list
:
echo deb http://pkg.jenkins.io/debian-stable binary/ | sudo tee /etc/apt/sources.list.d/jenkins.list
当这两个都到位时,我们将运行update
,以便apt-get
将使用新的存储库:
sudo apt-get update
最后,我们将安装Jenkins及其依赖项,包括Java:
sudo apt-get install -y jenkins
现在Jenkins及其依赖项已经到位,我们将启动Jenkins服务器。
三、开始Jenkins#
使用systemctl
我们将启动Jenkins:
sudo systemctl start jenkins
由于systemctl
不显示输出,我们将使用其status
命令来验证它是否成功启动:
sudo systemctl status jenkins
如果一切顺利,输出的开始应显示服务处于活动状态,并配置为启动时启动:
● jenkins.service - LSB: Start Jenkins at boot time Loaded: loaded (/etc/init.d/jenkins; generated) Active: active (exited) since Thu 2020-03-19 03:20:33 UTC; 3min 26s ago Docs: man:systemd-sysv-generator(8) Tasks: 0 (limit: 4915) CGroup: /system.slice/jenkins.service
现在Jenkins正在运行,我们将调整防火墙规则,以便我们可以从网络浏览器到达Jenkins以完成初始设置。
Jenkins 执行用户配置#
在之后配置构建的时候,可能会用到执行某些脚本,报错无权限的问题,所以这里有两种办法
1.在服务器上将 Jenkins用户配置sudo权限(如果涉及到docker,也要配置进docker组里)
sudo echo "jenkins ALL=(ALL) NOPASSWD: ALL">> /etc/sudoers.d/jenkins sudo chmod 744 /etc/sudoers.d/jenkins #配置docker组 sudo usermod -aG docker ${USER} sudo systemctl restart docker
2.直接修改jenkins 的执行用户为root
sudo vim /etc/default/jenkins
修改这两项
JENKINS_USER=root JENKINS_GROUP=root
重启Jenkins
sudo systemctl restart jenkins.service
这样Jenkins执行脚本的时候就不会报错了
四、设置Jenkins#
请注意已经关闭了防火墙,我们将使用服务器域名或IP地址访问Jenkins的默认端口8080
:
http://ip_address_or_domain_name:8080
我们应该看到“解锁Jenkins”屏幕,显示初始密码的位置
在终端窗口中,我们将使用cat
命令显示密码:
sudo cat /var/lib/jenkins/secrets/initialAdminPassword
我们将从终端复制32个字符的字母数字密码,并将其粘贴到“管理员密码”字段中,然后单击“继续”。 下一个屏幕提供安装建议的插件或选择特定插件的选项。
我们将点击“安装建议的插件”选项,这将立即开始安装过程:
这一步的安装时默认Jenkins插件源,在国外,如果服务器是国内的速度会比较慢,可以先跳过插件安装,在管理里配置好国内的Jenkins源再安装插件
清华大学源#
https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
安装完成后,系统将提示您设置第一个管理用户。 可以跳过此步骤,并使用上面使用的初始密码作为admin
继续,但是我们将花一点时间创建用户。
注意:默认Jenkins服务器未加密,因此使用此表单提交的数据不受保护。 当您准备好使用此安装时,请按照指南如何使用Nginx反向代理将SSL配置为Jenkins 。 这将保护用户凭据和关于通过Web界面发送的构建的信息。
创建一个admin用户,密码自己定义
确认实例配置
一旦第一个管理员用户到位,你应该看到一个“Jenkins准备好了!” 确认屏幕。
点击“开始使用Jenkins”来访问主要的Jenkins仪表板:
查看
[[email protected] ~]$ sudo netstat -plntu|grep java tcp6 0 0 :::8080 :::* LISTEN 14788/java
此时,Jenkins已经成功安装。
注意:#
默认端口是8080,有时候由于端口占用需要修改如下:
1,检查 /etc/init.d/jenkins 脚本,修改 do_start 函数的 check_tcp_port 命令,端口号从 8080 换成 8082:
2,修改 /etc/default/jenkins 文件,将端口 8080 改成 8082
HTTP_PORT=8082
3,重启Jenkins
sudo systemctl restart jenkins
结论#
在本教程中,我们使用项目提供的软件包安装了Jenkins,启动了服务器,并创建了一个管理用户。
本文参考链接:
https://www.jianshu.com/p/845f267aec52
下一次再记录Jenkins参数构建和流水线参数构建