你好呀,我是小猿来也,一个刚开始折腾 Devops 的程序猿。
写在前面
前两天在池大那里看到了一段话,原话出自美团首席科学家夏华夏老师,具体内容我贴到了下面。
对于图片里的内容你们是怎么认为的呢?我呢,刚好最近在和同事一起折腾 jenkins,我觉得这里说的就是一个类 "Devops" 的化处理思想,Devops改变世界。
用 jenkins折腾 各种 Devops 的使用场景,还挺好玩的。
这两天想着在自己的电脑上也装一个 jenkins 的环境。
查了下生产环境的 jenkins 版本是2.263.4
。为了尽量和生产环境的 jenkins 保持一致,强迫症的我决定在自己的笔记本上也装这个版本。
一、安装前的挣扎
因为手里的笔记本是 macOS,所以就先去 jenkins 官网上翻了翻。
然后通过 https://www.jenkins.io/zh/download/
进入到 https://www.jenkins.io/download/lts/macos/ 这个页面。
这个页面给出的指示表明我们可以使用brew install jenkins-lts@YOUR_VERSION
来安装我想要的2.263.4
这个版本。
怀着很期待的心情,我决定试一试。
$ brew install jenkins-lts@2.263.4
==> Searching for similarly named formulae...
Error: No similarly named formulae found.
Error: No available formula or cask with the name "jenkins-lts@2.263.4".
==> Searching for a previously deleted formula (in the last month)...
Error: No previously deleted formula found.
==> Searching taps on GitHub...
Error: No formulae found in taps.
然并卵,结果我发现 Homebrew 找不到这个版本,是我打开的方式不对吗?有点尴尬哈。
在 https://www.jenkins.io/download/lts/macos/ 这个页面继续往下看,
结果在下图中红框的位置发现了 macOS 原生安装包的下载入口 https://get.jenkins.io/osx-stable/ 。
于是进入 https://get.jenkins.io/osx-stable/ 的页面
翻了一遍发现这里提供的最低版本是jenkins-1.409.1.pkg
,最高版本是jenkins-2.235.2.pkg
,没有我需要的2.263.4
这个版本,再次尴尬。
于是我再次回到 https://www.jenkins.io/download/lts/macos/ 这个页面,这个页面里有一行文字引起了我的注意。
Native Installer (deprecated)
然后我这才意识到官方好像应该是不再支持用新的 pkg 原生包安装 jenkins 了。
同样在官方博客的网页
Jenkins macOS native installer deprecation:https://www.jenkins.io/blog/2019/11/25/macos-native-installer-deprecation/ 中,
的确有弃用 jenkins macOS 本机安装程序的说明。
网页中有一段说明我截了图,大致是的意思是说作为对弃用 jenkins macOS 本机安装程序的替代,mocOS 下你可以直接使用 War 包或者使用 Homebrew 来安装管理 jenkins。
There are two Homebrew formulas for Jenkins: jenkins for Weekly releases and jenkins-lts for LTS ones.
官方博客中指出可以使用brew install jenkins
安装 jenkins 的最新每周版本。
使用brew install jenkins-lts
安装 jenkins 的最新LTS版本。
同样指出可以使用brew install jenkins@YOUR_VERSION
安装 jenkins 特定的每周版本。
所以现在根据官方博客的说法
我们可以使用brew install jenkins-lts
安装 jenkins 的最新LTS版本。
可以使用brew install jenkins-lts@YOUR_VERSION
安装 jenkins 的特定的LTS版本。
可以使用brew install jenkins
安装 jenkins 的最新每周版本。
可以使用brew install jenkins@YOUR_VERSION
安装 jenkins 的特定的每周版本。
文章开头的时候我们已经尝试了用brew install jenkins-lts@2.263.4
来进行安装,结果根本不好使。
现在我打算尝试下用brew install jenkins@2.263.4
来进行安装。
$ brew install jenkins@2.263.4
Updating Homebrew...
==> Searching for similarly named formulae...
Error: No similarly named formulae found.
Error: No available formula or cask with the name "jenkins@2.263.4".
==> Searching for a previously deleted formula (in the last month)...
Error: No previously deleted formula found.
==> Searching taps on GitHub...
Error: No formulae found in taps.
同样也无法正常进行安装。
好吧本来想偷个懒,结果。。。
我们就乖乖的使用 war 包的方式进行安装吧。
war 包下载 的入口在官网的下载网页中,就是下图中我圈出来的位置。
进入之后发现从1.409.1
到2.289.1
之间所有的lts版在这里都可以下载,当然也包含我想要的2.263.4
版本。
这个时候我们可以选择指定的版本对应的链接,进入对应的页面去直接下载,当然我这里选择的是 2.263.4。
我们也可以选择使用下面的命令来下载。
wget https://get.jenkins.io/war-stable/2.263.4/jenkins.war
二、安装jenkins
程序账号创建
# 创建组
sudo dscl . create /Groups/jenkins gid 5555
# 创建用户
sudo dscl . create /Users/jenkins uid 7777
sudo dscl . create /Users/jenkins gid 5555
sudo dscl . create /Users/jenkins shell /bin/bash
# 修改用户的密码
sudo passwd jenkins
# 创建用户的home目录
sudo mkdir /Users/jenkins
# 用户的home目录宿主
sudo chown -R jenkins:jenkins /Users/jenkins
# 声明用户的home目录
sudo dscl . create /Users/jenkins home /Users/jenkins
macOS可以使用dscl 管理用户,了解更多你可以点击查看。
准备jenkins的运行目录
# 切换当前用户为 jenkins
$ su - jenkins
jenkins$ whoami
jenkins
# 准备程序安装包目录
jenkins$ pwd
/Users/jenkins
jenkins$ mkdir soft
jenkins$ ls
soft
jenkins$ cd soft/
jenkins$ wget https://get.jenkins.io/war-stable/2.263.4/jenkins.war
jenkins$ ls
jenkins.war
# 准备程序运行目录
jenkins$ cd /Users/jenkins/
jenkins$ mkdir 2.263.4
jenkins$ ls
2.263.4 soft
启动jenkins
jenkins$ java -jar -Xmx4096m -DJENKINS_HOME=/Users/jenkins/2.263.4 /Users/jenkins/soft/jenkins.war --httpPort=9999
Running from: /Users/jenkins/soft/jenkins.war
webroot: System.getProperty("JENKINS_HOME")
.
.
.
Jenkins initial setup is required. An admin user has been created and a password generated.
Please use the following password to proceed to installation:
ecc86b654f3a4e0bbeb4e2df962839a0
This may also be found at: /Users/jenkins/2.263.4/secrets/initialAdminPassword
.
.
.
启动的过程中我们可以看到 jenkins 管理员用户的初始化密码会写在的${JENKINS_HOME}/secrets/initialAdminPassword
中,
我的这个实验是在/Users/jenkins/2.263.4/secrets/initialAdminPassword
这个文件中,你在实验过程可能会稍有不同。
三、初识jenkins
入门指引
jenkins 启动完成之后,我们访问 http://localhost{port}/ (我这里的端口是9999)即可进入jenkins的页面。
首次访问即可看到 jenkins 的入门指引,接下来你会依次看到下面的界面。
这个时候我们可以选择使用admin账户继续(jenkins 安装时自动创建 admin 用户)也可以选择创建新的 admin 用户,这里我们选择使用已有的 admin 账户继续。
你已跳过创建admin用户的步骤。要登录请使用用户名 "admin" 及用于访问安装向导的管理员密码。
点击开始使用 jenkins
首页的中间部分主要提供了一些 jenkins 新手可能会用到的链接,第一个便是任务创建链接。
然后是 agent 设置链接
接着是集群配置的链接
最后是分布式构建的相关文档的链接。
https://www.jenkins.io/redirect/distributed-builds
https://wiki.jenkins.io/display/JENKINS/Distributed+builds
主要菜单
首页的左边是常用的功能菜单的链接。依次分别是"新建Item","用户列表","构建历史","Manage Jenkins","My Views"等。
我们先看下"Manage Jenkins"吧,点击进入。
部分插件由于缺少依赖无法加载。要恢复这些插件提供的功能,需要修复这些问题并重启 Jenkins。
按照页面的提示我们需要重启一下就 jenkins 这样才能使插件生效,然后我们在浏览器里输入http://localhost:9999/restart
。
点击"是"之后会在"重启中"页面的页面停留片刻
等到 jenkins 重启完成之后,页面会自动跳转到登陆页面。
在登陆页面中输入 admin 以及它的密码(jenkins 安装时自动创建的用户,密码信息启动日志中有)再次进入 jenkins 的首页,
发现页面的菜单显示跟重启之前有一些差别,应该是重启之后本地化插件生效了,菜单以中文的形式显示。
再次进入到"系统管理"菜单中,我们同样发现页面中菜单以中文的形式展示出来了,同时重启之前的那一片红色的提示已经消失。
Job Demo
准备好了 jenkins,我们赶紧来跑个 job 试下吧。例子很简单就是用 jenkins job 打印出 "jenkins hello world"。
创建job。
配置job。
执行job。
job执行记录列表。
job执行日志。
Job正常执行并打印出“jenkins hello world”。
管理密码修改(重要)
最后由于我们一直使用的是 jenkins 安装时自动设定的密码,这个密码在上面的安装日志中有输出。
同时在${JENKINS_HOME}/secrets/initialAdminPassword
这个文件中也有保存。
所以会存在一定的安全隐患,为了避免不必要的麻烦,所以这里我们需要把 admin 的密码修改一下了。
它的操作步骤是在"系统管理"里找到"管理用户"
点击"管理用户"的链接进入"用户列表",在给出的所有用户列表中找出 admin 用户,点击它的设置按钮。
进入 admin 用户的信息更新页面,下拉到密码设置的区域,录入新的密码信息提交即可。
重新访问http://localhost:9999/
在跳转的登陆页面中录入 admin 用户的新密码可以正常登陆就说明 admin 用户的密码更新成功了。
最后的最后,不知道是不是我的打开方式不对,居然无法使用 Homebrew 安装指定版本的 jenkins,你是如何安装的呢?