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.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,你是如何安装的呢?
Devops 改变coding —— 安装个指定版本的 jenkins 发现和想象的不太一样?的更多相关文章
- Linux下yum安装MySQL yum安装MySQL指定版本
yum安装MySQL 1. 查看有没有安装过 yum list installed MySQL* (有存在要卸载yum remove MySQL*) rpm -qa | grep my ...
- composer安装laravel指定版本
版权声明:本文为博主原创文章,未经博主允许不得转载. http://blog.csdn.net/qq_38125058/article/details/79126051 首先安装composer,附安 ...
- vue安装插件指定版本
安装插件指定版本 npm install 插件名称@2.9.6 --save 查看需要安装插件的版本记录 npm view 插件名称 versions --json
- Centos8 Yum 安装Nginx指定版本
查看系统和EPEL的nginx版本 dnf info nginx 通过官方 yum 源安装nginx vi /etc/yum.repos.d/nginx.repo 列出所有版本 ...
- debian、ubuntu安装mysql指定版本
因为在使用docker时,Debian中的mysql已变为mariadb,然后总是会出现一些错误,所以故想在debian上安装mysql5.7版本 1.访问https://dev.mysql.com/ ...
- Centos 7 安装nginx指定版本
官方版本列表:http://nginx.org/download/ 1.安装 wget http://nginx.org/download/nginx-1.10.3.tar.gz tar -zxvf ...
- Centos7Yum安装配置指定版本nginx
1.安装 rpm -ivh http://nginx.org/packages/centos/7/x86_64/RPMS/nginx-1.14.2-1.el7_4.ngx.x86_64.rpm 2.启 ...
- Linux 安装 python 指定版本--编译源码方式
自动化脚本: #!/bin/bash sudo apt-get update sudo apt-get install -y gcc make build-essential libssl-dev z ...
- 阿里云安装docker 指定版本
sh docker-install.sh 1.12.6 #ubuntu16.4 测试通过 #!/bin/sh set -e # # This script is meant for quick &am ...
随机推荐
- OO第三单元作业(JML)总结
OO第三单元作业(JML)总结 目录 OO第三单元作业(JML)总结 JML语言知识梳理 使用jml的目的 jml注释结构 jml表达式 方法规格 类型规格 SMT Solver 部署JMLUnitN ...
- Flutter 2.2 更新详解
Flutter 2.2 版已正式发布!要获取新版本,您只需切换到 stable 渠道并更新目前安装的 Flutter,或前往 flutter.cn/docs/get-started 从头开始安装. 虽 ...
- SwiftUI 简明教程之属性包装器
本文为 Eul 样章,如果您喜欢,请移步 AppStore/Eul 查看更多内容. Eul 是一款 SwiftUI & Combine 教程 App(iOS.macOS),以文章(文字.图片. ...
- [bug] python3 pip 安装 MarkupSafe==1.0 失败:ImportError:cannot import name 'Feature' from 'setpools'
解决 先升级pip到最新版本 python -m pip install --upgrade pip 再升级setuptools pip install --upgrade pip setuptool ...
- RHEL_高级磁盘管理(vdo、stratis)
RHEL高级磁盘管理-VDO VDO简介 Virtual Data Optimizer 通过数据去重.压缩的方式来优化存储空间. VDO层放置在现有块存储设备上,例如Raid设备.本地磁盘设备. LV ...
- 063.Python前端Django分页器
Django的分页器 1 前期准备 创建一个数据库,用于存放数据 mysql> create database pager default charset=utf8; mysql> use ...
- nosql数据库之Redis概念及基本操作
一.概述 redis是一种nosql数据库(非关系型数据库),他的数据是保存在内存中,同时redis可以定时把内存数据同步到磁盘,即可以将数据持久化,并且他比memcached支持更多的数据结构(st ...
- linux环境下时区无法设置(UTC无法更改为CST)的问题解决
在进行linux下修改时区的时候 总是修改不了 修改成 Asia/Shanghai 但是 时区总是 +0000 却不是想要的+0800 按照网上的方法 A方法:tzselect:执行tzselect ...
- 10.10 traceroute:追踪数据传输路由状况
traceroute命令 用于显示网络数据包传输到指定主机的路径信息,追踪数据传输路由状况.默认数据包大小是60字节(IPv4)或80字节(IPv6),用户可另行设置.它与Windows下的trace ...
- kubernetes技能图谱
深入剖析Kubernetes-张磊(Kubernetes社区资深成员与项目维护者) Kubernetes集群搭建 ver1.20.5
