阅读 155

Devops 改变 coding —— 安装个指定版本的 jenkins 发现和想象的不太一样?

Devops 改变 coding —— 安装个指定版本的 jenkins 发现和想象的不太一样?

你好呀,我是小猿来也,一个刚开始折腾 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.4Updating 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.12.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 7777sudo 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$ lssoft
jenkins$ cd soft/
jenkins$ wget https://get.jenkins.io/war-stable/2.263.4/jenkins.war
jenkins$ lsjenkins.war# 准备程序运行目录jenkins$ cd /Users/jenkins/
jenkins$ mkdir 2.263.4jenkins$ ls2.263.4	soft

启动jenkins

jenkins$ java -jar -Xmx4096m -DJENKINS_HOME=/Users/jenkins/2.263.4 /Users/jenkins/soft/jenkins.war --httpPort=9999Running 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,你是如何安装的呢?

来源https://www.cnblogs.com/tobrainto/p/14945803.html

文章分类
后端
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐