首先我们先来说,Jenkins是什么?
Jenkins就是这个小老头!当然这只是开个玩笑。小老头能干什么,有啥作用,为啥要用小老头?看到小老头手里拿的东西了没,感觉像个服务生,能为我们提供服务,这是我对这个图标的理解。小老头,what can you do for me?
言归正传,Jenkins其实是一个持续构建、集成和测试(CI/CD)的软件。有了这款软件后,开发人员只需提交代码到GIT或SVN上,然后在Jenkins上点击“构建”按钮,就可将最新的程序发布到测试机或生产机上,并自动完成了重启。实际上,Jenkins在代码管理工具上下载代码后,会完成构建、编译、打包、传输程序包到测试或生产服务器、重启程序等步骤。而在没有自动化构建之前,这些动作是需要运维或者开发人员手动完成的。如果程序包不多,工作量尚且不大,但是如果程序包较多、或测试(生产)服务器较多时,此步骤还是非常复杂的,而且操作过程中容易出错。此时,自动化构建就显得非常必要。而且,在当今微服务流行的趋势下,如果这些都手动完成,其工作量是非常巨大的。而且,自动化构建是实现快速迭代、敏捷开发的其中一个非常重要的环节。有了此工具后,开发人员可以专注于考虑代码逻辑,而从以前复杂的部署工作中抽身。
实际在Jenkins安装过程中,会有几个坑,为了给大家演示这几个坑,我决定重新做个虚拟机,然后重现一下这几个坑。唉,技术文档不是那么容易写的啊。
我用的Linux系统是CentOs7.3,64位。虚拟机的安装过程在这里就不演示了,写文章不能跑题。
首先要说明的是,安装Jenkins的过程,需要有网络(互联网),因为Jenkins插件的安装是需要网络的。
一、下载Jenkins安装包,熟悉的套路
官方下载地址是https://pkg.jenkins.io/redhat-stable/
这里我就选择最新版本吧
[root@localhost ~]# cd ~
[root@localhost ~]# wget https://pkg.jenkins.io/redhat-stable/jenkins-2.222.3-1.1.noarch.rpm
下载速度有点慢,不过也没办法嘛,国外的网站。先去吃个饭!
二、安装
吃饭回来,下完了,GO ON!
[root@localhost ~]# rpm -ivh jenkins-2.222.3-1.1.noarch.rpm
安装速度还是很快的
三、启动
[root@localhost ~]# service jenkins start
启动成功了,good!
四、访问
接下来我们访问下Jenkins
如果访问不了,可能是防火墙的问题,我们先关闭防火墙。
[root@localhost ~]# service iptables stop
Jenkins的默认端口是8080
看到页面啦,HELLO JENKINS!
接下来,按照提示做吧,输入密码
[root@localhost ~]# cat /var/lib/jenkins/secrets/initialAdminPassword
输入密码
选择“选择插件来安装”
我们选择“无”,然后点击“安装”
实际上在这个过程中,我们并没有安装插件。因为Jenkins的默认插件下载源是国外的网址,访问速度极不稳定。
输入管理员信息,“保存并完成”。
点击“保存并完成”。
下面我们就可以使用Jenkins了。
三、安装插件
在安装插件以前,我们先修改插件的下载源。
①点击“Manage Jenkins”->“Manage Plugins”->“Advanced”。
修改标红的地址为:http://mirror.esuni.jp/jenkins/updates/update-center.json
点击“提交”。这是国内的一个下载源,速度相对来说会快很多。
②执行命令
vim /var/lib/jenkins/updates/default.json
vim替换地址为https://mirrors.tuna.tsinghua.edu.cn/jenkins/
:1,$s/http:\/\/updates.jenkins-ci.org\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g
vim将谷歌替换为百度
:1,$s/http:\/\/www.google.com/https:\/\/www.baidu.com/g
然后点击Esc,输入:wq!来保存。
③重启Jenkins
systemctl restart jenkins
第②步非常重要,不然下载插件时还会特别慢甚至失败。之前因为第②步没有执行,导致每次安装插件都失败,慢慢放弃了对Jenkins的研究。后来因为工作需要又研究才发现要进行第②步的操作。对于我来说,比较懒,有需求才会有去弄明白的动力,弄明白后,感觉打开了一个新世界。
我们看到,进入后Jenkins是英文的,这对于英文不好的我来说不太友好。那么我首先安装的是中文插件。
点击“Manage Jenkins”->“Manage Plugins”->“Available”。
Localization: Chinese (Simplified)
安装完成后,重启Jenkins
重启后,我们发现Jenkins已经变成了中文。
至此,我们已经安装完了第一个插件。
我们来接着安装插件
点击“系统管理”->“插件管理”->“可选插件”,安装以下插件:
Alternative build chooser
Amazon Web Services SDK
Ant
Apache HttpComponents Client 4.x API
Artifactory
Authentication Tokens API
bouncycastle API
Branch API
Build Timeout
CloudBees AWS Credentials
Command Agent Launcher
Config File Provider
Credentials Binding
Credentials
CVS Plug-in
Data Theorem: CI/CD
Display URL API
Docker Commons
Docker Pipeline
Durable Task
ElasticBox Jenkins Kubernetes CI/CD Plug-in
External Monitor Job Type
Folders
Git client
Git
GIT server
GitHub API
GitHub Branch Source
GitHub
Gitlab API
GitLab
Google OAuth Credentials
Gradle
Gradle Repo
H2 API
Infrastructure for Publish Over X
Ivy
Jackson 2 API
Javadoc
JavaScript GUI Lib: ACE Editor bundle
JavaScript GUI Lib: Handlebars bundle
JavaScript GUI Lib: jQuery bundles (jQuery and jQuery UI)
JavaScript GUI Lib: Moment.js bundle
Job Cacher
JSch dependency
JUnit
Kubernetes
Kubernetes Client API
Kubernetes Credentials
LDAP
Locale
Localization Support
Lockable Resources
Mailer
MapDB API
Matrix Authorization Strategy
Matrix Project
Maven Integration
NodeJS
OAuth Credentials
Oracle Java SE Development Kit Installer
OWASP Markup Formatter
PAM Authentication
Pipeline
Pipeline Graph Analysis
Pipeline Maven Integration
Pipeline NPM Integration
Pipeline: API
Pipeline: Basic Steps
Pipeline: Build Step
Pipeline: Declarative
Pipeline: Declarative Agent API
Pipeline: Declarative Extension Points API
Pipeline: GitHub Groovy Libraries
Pipeline: Groovy
Pipeline: Input Step
Pipeline: Job
Pipeline: Milestone Step
Pipeline: Model API
Pipeline: Multibranch
Pipeline: Nodes and Processes
Pipeline: REST API
Pipeline: SCM Step
Pipeline: Shared Groovy Libraries
Pipeline: Shared Groovy Libraries through HTTP retrieval
Pipeline: Shared Groovy Libraries through Nexus retrieval
Pipeline: Stage Step
Pipeline: Stage Tags Metadata
Pipeline: Stage View
Pipeline: Step API
Pipeline: Supporting APIs
Plain Credentials
Publish Over SSH
Run Condition
SCM API
Script Security
SSH Agent
SSH Build Agents
SSH Credentials
SSH Pipeline Steps
SSH
SSH2 Easy
Structs
Token Macro
Trilead API
Variant
WMI Windows Agents
选择完之后,点击“直接安装”。安装完后,重启Jenkins。
有些软件可能搜索不到,没关系,直接搜索下一个。
安装完这些插件后,基本能满足我们的构建要求了。我们点击“新建任务”,发现可选项就比较多了。