你好呀,我是小猿来也,一个刚开始折腾 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.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 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 发现和想象的不太一样?的更多相关文章

  1. Linux下yum安装MySQL yum安装MySQL指定版本

    yum安装MySQL 1. 查看有没有安装过     yum list installed MySQL* (有存在要卸载yum remove MySQL*)     rpm -qa | grep my ...

  2. composer安装laravel指定版本

    版权声明:本文为博主原创文章,未经博主允许不得转载. http://blog.csdn.net/qq_38125058/article/details/79126051 首先安装composer,附安 ...

  3. vue安装插件指定版本

    安装插件指定版本 npm install 插件名称@2.9.6 --save 查看需要安装插件的版本记录 npm view 插件名称 versions --json

  4. Centos8 Yum 安装Nginx指定版本

    查看系统和EPEL的nginx版本   dnf info nginx 通过官方 yum 源安装nginx       vi /etc/yum.repos.d/nginx.repo 列出所有版本    ...

  5. debian、ubuntu安装mysql指定版本

    因为在使用docker时,Debian中的mysql已变为mariadb,然后总是会出现一些错误,所以故想在debian上安装mysql5.7版本 1.访问https://dev.mysql.com/ ...

  6. Centos 7 安装nginx指定版本

    官方版本列表:http://nginx.org/download/ 1.安装 wget http://nginx.org/download/nginx-1.10.3.tar.gz tar -zxvf ...

  7. 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.启 ...

  8. Linux 安装 python 指定版本--编译源码方式

    自动化脚本: #!/bin/bash sudo apt-get update sudo apt-get install -y gcc make build-essential libssl-dev z ...

  9. 阿里云安装docker 指定版本

    sh docker-install.sh 1.12.6 #ubuntu16.4 测试通过 #!/bin/sh set -e # # This script is meant for quick &am ...

随机推荐

  1. SpringBoot系列——自定义统一异常处理

    前言 springboot内置的/error错误页面并不一定适用我们的项目,这时候就需要进行自定义统一异常处理,本文记录springboot进行自定义统一异常处理. 1.使用@ControllerAd ...

  2. CMMI V2.0丨如何通过CMMI真正在企业中的实施规模化敏捷开发

    在过去的几年中,敏捷开发已经从一个利基概念(利基是指针对企业的优势细分出来的市场,这个市场不大,而且没有得到令人满意的服务.产品推进这个市场,有盈利的基础.)转变为全球许多大公司采用的标准实践. 通过 ...

  3. 在?开源社区版的 AirTag 请收下——GitHub 热点速览 v.21.21

    作者:HelloGitHub-小鱼干 在比特币跌到怀疑人生的时候,看着"出血不止"的荷包,是时候来"薅"一波羊毛了.openhaystack 能让你免去购买 A ...

  4. 强哥jQuery学习笔记

    js对象: 1.js内置对象 2.js元素对象 3.jquery对象 js特效: 1.js元素对象 2.jQuery对象 jQuery学习: 1.核心函数 2.选择器 3.筛选 4.文档处理 5.属性 ...

  5. IDEA workspace.xml 在 git 中无法忽略 ignore 问题

    问题描述 关于 .idea 的文件夹中的 workspace.xml 设置 ignore 之后每次 commit 依旧提示需要提交改变,这就会导致, 每次merge就会导致提示"本地文件改变 ...

  6. RSA算法在Python Django中的简单应用

    说明 RSA算法是当今使用最广泛,安全度最高的加密算法. • RSA算法的安全性理论基础 [引]根据百科介绍,对极大整数做因数分解的难度决定了RSA算法的可靠性.换言之,对一极大整数做因数分解愈困难, ...

  7. LESS语法学习笔记

    LESS 通过编写less文件来快速生成css文件,对css的语法进行了扩展 Less语法 注释 单行注释不会被编译,多行才会被编译 变量 less:定义变量用@ scss:定义变量用$ @num: ...

  8. SqlServer事务详解(事务隔离性和隔离级别详解)

    概述 不少人对于事务的使用局限于begin transaction:开始事务.commit transaction:提交事务.rollback transaction:回滚事务的初步运用. 并且知道使 ...

  9. BASE理论之思考

    一.什么是BASE理论? BASE理论是对CAP中一致性和可用性权衡的结果,它的核心思想是:即使无法做到强一致性,但每个应用都可以根据自身业务特点,采用适当的方式来使系统达到最终一致性. BASE理论 ...

  10. Thumb扩展

    Thumb扩展 ARM处理器已在嵌入式系统,手持计算机和其系统中得到了最大的应用,在这些系统中,系统对使用有限资源进行大量工作的要求很高.Thumb扩展是为解决资源消耗中的某些方面而创建的,已成为当今 ...