[log]Jenkins使用笔记

安装

Ubuntu 20.04 + Jenkins 2.375.2 LTS

参考:https://www.jenkins.io/doc/book/installing/linux/#debianubuntu

为了使用docker作为agent,系统需要安装docker,安装方法参考https://docs.docker.com/engine/install/ubuntu/

curl -fsSL https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo tee \
  /usr/share/keyrings/jenkins-keyring.asc > /dev/null
echo deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc] \
  https://pkg.jenkins.io/debian-stable binary/ | sudo tee \
  /etc/apt/sources.list.d/jenkins.list > /dev/null
sudo apt-get update
sudo apt-get install jenkins

安装之后查看服务状态

sudo systemctl status jenkins.service
● jenkins.service - Jenkins Continuous Integration Server
     Loaded: loaded (/lib/systemd/system/jenkins.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2023-01-27 10:08:33 CST; 59s ago
   Main PID: 3950 (java)
      Tasks: 49 (limit: 4576)
     Memory: 1.2G
     CGroup: /system.slice/jenkins.service
             └─3950 /usr/bin/java -Djava.awt.headless=true -jar /usr/share/java/jenkins.war --webroot=/var/cache/jenkins/war --httpPort=8080

1月 27 10:08:14 zch-vm-u20 jenkins[3950]: a2708f5d354141dc9b48a239237be542
1月 27 10:08:14 zch-vm-u20 jenkins[3950]: This may also be found at: /var/lib/jenkins/secrets/initialAdminPassword
1月 27 10:08:14 zch-vm-u20 jenkins[3950]: *************************************************************
1月 27 10:08:14 zch-vm-u20 jenkins[3950]: *************************************************************
1月 27 10:08:14 zch-vm-u20 jenkins[3950]: *************************************************************
1月 27 10:08:33 zch-vm-u20 jenkins[3950]: 2023-01-27 02:08:33.310+0000 [id=28]        INFO        jenkins.InitReactorRunner$1#onAttained: Completed initialization
1月 27 10:08:33 zch-vm-u20 jenkins[3950]: 2023-01-27 02:08:33.323+0000 [id=22]        INFO        hudson.lifecycle.Lifecycle#onReady: Jenkins is fully up and running
1月 27 10:08:33 zch-vm-u20 systemd[1]: Started Jenkins Continuous Integration Server.
1月 27 10:08:34 zch-vm-u20 jenkins[3950]: 2023-01-27 02:08:34.601+0000 [id=46]        INFO        h.m.DownloadService$Downloadable#load: Obtained the updated data file >1月 27 10:08:34 zch-vm-u20 jenkins[3950]: 2023-01-27 02:08:34.602+0000 [id=46]        INFO        hudson.util.Retrier#start: Performed the action check updates server s>

这里可以看到Jenkins使用8080作为HTTP服务端口;a2708f5d354141dc9b48a239237be542是初始管理密码,这个密码保存在 /var/lib/jenkins/secrets/initialAdminPassword 文件中,可以随时查看

用浏览器打开 http://127.0.0.1:8080 ,输入 初始管理密码 登录;登录后会提示安装插件,这里选择 推荐插件;插件安装完后会提示创建管理员用户,输入信息保存继续;接下来配置Jenkins URL,这里要用服务器IP或者域名,不要用127.0.0.1,方便后续远程访问,保存完成;接下来就可以用杠杆创建的管理员用户登录Jenkins开始工作了。

安装完成后,jenkins的数据默认保存在/var/lib/jenkins目录下,如果需要修改目录,可以在服务的启动脚本中设置环境变量JENKINS_HOME,不要忘记把/var/lib/jenkins目录的内容复制到你指定的目录,否则需要重新初始化jenkins。

安装docker插件

docker是目前常用的agent,但推荐插件中并没有包含docker插件,需要额外安装一下:
Dashboard -> Manage Jenkins(系统管理) -> 插件管理 -> Available plugins
搜索 docker
选择 Docker Pipeline
点击 Install without restart

jenkins服务运行的用户是jenkins,需要将jenkins用户添加到docker组,以便jenkins有权限操作docker,添加之后重启jenkins服务,使设置生效。

sudo usermod -aG docker jenkins
sudo systemctl restart jenkins

使用Jenkins

不同项目类型的区别

  • Freestyle:传统的多步骤操作,不支持agent
  • Pipeline:支持agent的多stage*多step操作
  • 多配置项目:适合多平台,多配置项目
  • 组织机构目录:可以扫描git库中组织机构目录下的所有项目
  • 多分支流水线:可以自动处理一个库中的多个分支
  • 文件夹:用文件夹来组织,不同文件夹中可以有相同名字的内容

常用的是Pipeline或多分支Pipeline,最大的优点是可以使用 docker 为不同的项目定制不同的编译测试环境,Freestyle由于不能定制编译测试环境,现在已经很少使用了。

Blue Ocean

安装

使用插件管理器安装Blue Ocean插件,安装完成后重启服务器。

使用

Blue Ocean 创建的流水线相当于 多分支流水线
多分支流水线在流水线的分支界面,列表右侧操作栏编辑按钮可以打开图形界面编辑pipeline;在活动界面,点击某次运行查看详情,点击详情页面顶端的编辑按钮也可以打开图形界面编辑pipeline。

问题

目前,我使用的是Jenkins 2.375.2 + Blue Ocean 1.27.1,用github项目没有问题,但使用普通git项目时,创建流水线会卡住,无法创建流水线。
还是建议用经典模式创建多分支流水线,然后可以在Blue Ocean中管理。
但是这里还有个问题,用经典模式创建多分支流水线,就要自己添加一个Jenkinsfile,否则无法用图形界面编辑流水线,而自己添加的Jenkinsfile用图形界面打开时又会报错,我直接把其他项目中用UI生成的Jenkinsfile内容复制过来也是不行,不知道哪里有问题。
总之,这是一次Blue Ocean从入门到放弃的经历,现在Blue Ocean也不做功能更新了,主要想用的pipeline图形生成器不能用,还是老老实实用经典模式吧,有“片段生成器”基本已经足够,参考官方文档,熟练之后编辑Jenkinsfile并不难。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

飞花丝雨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值