jenkins的安装有很多种方式,这里采用tomcat的war包形式。在基础centos 7.9下进行安装。
首先,查看centos系统版本:
[root@iZ0jl95ealcklifdcxa5etZ ~]# lsb_release -a
LSB Version: :core-4.1-amd64:core-4.1-noarch
Distributor ID: CentOS
Description: CentOS Linux release 7.9.2009 (Core)
Release: 7.9.2009
Codename: Core
基础系统,没有tomcat,也没有java
在什么都没有的环境下,需要下载java、tomcat、jenkins三个东西。
下载完成后,使用ssh,上传到服务器上。
[root@iZ0jlb35u717kzxwnit3cpZ soft]# ll
total 261372
-rwxr-xr-x 1 root root 9656576 Nov 29 14:56 apache-tomcat-7.0.109.tar.gz
-rwxr-xr-x 1 root root 185646832 Nov 29 14:57 jdk-8u181-linux-x64.tar.gz
-rw-r--r-- 1 root root 72334258 Nov 29 14:56 jenkins.war
上面的执行结果是全部上传的文件以及版本,其中jenkins版本为:Jenkins 2.303.2
安装的首先是安装java,这个不是这个记录的重点,略过去,在我的其他文章里面有。贴个链接
https://blog.csdn.net/jianxuan/article/details/121589453
安装tomcat的过程,也不是这个文章的记录重点,但没有相关的内容,这里简单记录一下执行过程。
[root@iZ0jlb35u717kzxwnit3cpZ soft]# mkdir /usr/tomcat
[root@iZ0jlb35u717kzxwnit3cpZ soft]# tar -zxvf ./apache-tomcat-7.0.109.tar.gz
[root@iZ0jlb35u717kzxwnit3cpZ soft]# mv ./apache-tomcat-7.0.109 /usr/tomcat/
[root@iZ0jlb35u717kzxwnit3cpZ soft]# systemctl stop firewalld.service
[root@iZ0jlb35u717kzxwnit3cpZ soft]# systemctl disable firewalld.service
[root@iZ0jlb35u717kzxwnit3cpZ soft]# cd /usr/tomcat/apache-tomcat-7.0.109/
[root@iZ0jlb35u717kzxwnit3cpZ apache-tomcat-7.0.109]# bin/startup.sh
启动同时,为了访问方便,顺手关闭了防火墙,不是必须,但做实验方便。
测试一下:
[root@iZ0jlb35u717kzxwnit3cpZ apache-tomcat-7.0.109]# curl http://127.0.0.1:8080/
能够获取网页,服务没有问题。
安装jenkins很简单,将jenkins的war包复制到tomcat的webapps目录下,重启tomcat就好了。
[root@iZ0jlb35u717kzxwnit3cpZ ~]# cd ~/soft/
[root@iZ0jlb35u717kzxwnit3cpZ soft]# ls
apache-tomcat-7.0.109.tar.gz jdk-8u181-linux-x64.tar.gz jenkins.war
[root@iZ0jlb35u717kzxwnit3cpZ soft]# cp jenkins.war /usr/tomcat/apache-tomcat-7.0.109/webapps/
[root@iZ0jlb35u717kzxwnit3cpZ soft]# cd /usr/tomcat/apache-tomcat-7.0.109/webapps/
[root@iZ0jlb35u717kzxwnit3cpZ webapps]# ls
docs examples host-manager jenkins jenkins.war manager ROOT
可以看到,war包已经复制过来,为了保证正常运行,最好还是重新启动一下tomcat吧。
因为我是用的aliyun的服务器,为了外网访问,也就将tomcat端口号改为了80.
在tomcat启动后,访问地址:
http://8.130.12.247/jenkins
访问后,看到这样一个页面。
我们可以去控制台找到管理员密码。
[root@iZ0jlb35u717kzxwnit3cpZ apache-tomcat-7.0.109]# cat /root/.jenkins/secrets/initialAdminPassword
cb20f9fc219940fc86cfd7ca046c2b78
输入上面的代码,可以看到管理员的密码,将密码填入,点继续,就可以继续下一步了。
其实,在tomcat的启动日志里面,也可以看到这个密码,就像下面这些
INFO: Started Download metadata
Nov 29, 2021 3:20:43 PM hudson.model.AsyncPeriodicWork lambda$doRun$0
INFO: Finished Download metadata. 144 ms
Nov 29, 2021 3:20:43 PM jenkins.install.SetupWizard init
INFO:
*************************************************************
*************************************************************
*************************************************************
Jenkins initial setup is required. An admin user has been created and a password generated.
Please use the following password to proceed to installation:
cb20f9fc219940fc86cfd7ca046c2b78
This may also be found at: /root/.jenkins/secrets/initialAdminPassword
*************************************************************
*************************************************************
*************************************************************
Nov 29, 2021 3:20:52 PM jenkins.InitReactorRunner$1 onAttained
INFO: Completed initialization
Nov 29, 2021 3:20:52 PM hudson.WebAppMain$3 run
INFO: Jenkins is fully up and running
jenkins的第一次执行还是会需要一些时间。在等待了几分钟后,看到这么一个界面
出于省事考虑,我选择了安装推荐的插件。
然后到了这里,就是慢慢等待,jenkins的插件通常安装都是比较慢的,慢慢等,不行的话,重复,反复的安装就好了。
安装完成后,看到这样的界面。
这里可以创建一个账户,也可以继续使用admin账户,至于那么长的密码,可以继续用着,也可以进去以后改掉。我就继续用着admin的账户。
然后是url地址,确认无误,保存就可以了。
一切就绪,可以开始使用了。
jenkins能做的事情有很多,但这些事情大多是都是通过插件完成的。本身,jenkins只是个控制过程,控制插件干这个干那个的。svn是插件、git是插件、docker是插件包括pipeline都是插件。
所以,jenkins的核心就两个,“manage jenkins”和“新建item”。
系统管理:包括了系统的配置环境和插件管理
安全:包括了用户管理以及任务中需要用到的各种访问账号等信息的管理
一个Freestyle的任务结果非常清晰,
“基本说明”-写个备注说明吧
“源码管理”-来源从哪里来
“构建触发器“-什么时候开始
“构建环境”-开始之前要做的事情
“构建”-要干什么,通常是maven的命令、远程脚本执行,或者本地脚本执行等等。
“构建后操作”-最后,清理环境,触发下一个操作,也许是另一个任务,也许是外部通知什么的。
而这里面的实际执行的过程,又都是依靠那些插件来完成的了。
或者,不那么讲究的话,我会在jenkins同一台服务器上安装足够的环境,然后在构建时调用本地脚本,执行构建环境,那么,脚本写什么就是什么了,完全的shell开发。