● 首先,开发人员每天进行代码提交,提交到Git仓库。 ● Jenkins作为持续集成工具,使用Git工具到Git仓库拉取代码到持续集成服务器,再配合JDK,Maven等软件完成代码的编译、测试、审核、打包等工作,在这个过程中每一步出错,都重新再执行一次整个流程。 ● 最后,Jenkins把生成的jar包分发到测试服务器或者生产服务器,测试人员或用户就可以访问应用了。
卸载默认的JDK:
- 查询系统已安装的JDK:
yum list installed | grep -i java
- 卸载默认的JDK:
yum remove xxx
- 安装JDK11
yum -y install java-11-openjdk-devel
rpm -ivh jenkins-2.263-1.1.noarch.rpm
#低版本配置文件路径
vim /etc/sysconfig/jenkins
#高版本配置文件路径
vim /usr/lib/systemd/system/jenkins.service
#低版本配置文件修改:
#Jenkins安装完成后默认会创建一个jenkins的用户,并以jenkins用户运行,在我们通过jenkins编写一些命令的时候容易出现权限不足的
#因此我们将jenkins以root用户运行
JENKINS_USER="root"
#更改jks默认启动端口--默认为8080
JENKINS_PORT="8888"
高版本配置文件修改过程类似。
#修改配置后,重新加载配置
systemctl daemon-reload
#如果jks已经启动了,那么还需要重启jks
service jenkins restart
systemctl start jenkins
systemctl enable jenkins
http://服务器ip:8888。
cat /var/lib/jenkins/secrets/initialAdminPassword
因为Jenkins插件需要默认连接官网下载,速度巨慢,而且经常会失败,所以可以暂时跳过插件安装
Jenkins本身不提供很多功能,我们可以通过使用插件来满足我们的使用。比如从Gitee拉取代码,使用Maven构建项目等功能都需要依靠插件完成。
● Jenkins国外官方插件地址下载速度非常慢,所以我们需要手动修改为国内插件地址。
● Jenkins–>Manage Jenkins–>Manage Plugins,点击Available。
这么做的目的是为了将Jenkins官方的插件列表下载到本地。
cd /var/lib/jenkins/updates
sed -i 's#http:\/\/updates.jekins-ci.org\/download#https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins#g' default.json && sed -i '#/http:\/\/www.google.com#https:\/\/www.baidu.com#g' default.json
https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
● 添加下面三个角色:
○ baseRole:该角色为全局角色。这个角色需要绑定Overall下面的Read权限,是为了给所有用户绑定最基本的Jenkins的访问权限。注意:如果不给后续的用户绑定这个角色,会报错:用户名 is missing the Overall/Read Permission。
○ role1:该角色为项目角色。使用正则表达式绑定“spring.*”,意思是只能操作spring开头的项目。
○ role2:该角色为项目角色。使用正则表达式绑定“springboot.*”,意思是只能操作springboot开头的项目。
● 绑定规则如下:
○ xpy用户分别绑定baseRole和role1角色。
○ cjdhy用户分别绑定baseRole和role2角色。
凭证可以用来存储需要密文保护的数据库密码、GitHub密码信息、Docker私有仓库密码等,以便Jenkins可以和这些第三方应用进行交互。
要在Jenkins使用凭证管理功能,需要安装Credentials Binding插件。
● Username with password:用户名和密码。 ● SSH Username with private key:使用SSH用户和密钥。 ● Secret file:需要保密的文本文件,使用时Jenkins会将文件复制到一个临时目录中,再将文件路径设置到一个变量中,等构建结束后,所复制的Secret file就会被删除。 ● Secret text:需要保密的一个加密的文本串,比如钉钉或GitHub的api token。 ● Certificate:通过上传证书文件的方式。
常用的凭证类型有:Username with password(用户名密码)和SSH Username with private key(SSH密钥)。
● 为了让Jenkins支持从Gitee上拉取源码,需要安装Git插件以及在Centos7上安装Git工具。
● Git插件的安装:
yum install -y git
git --version
● Jenkins–>凭证–>系统–>全局凭证–>添加凭证:
创建自由项目:
● 使用root用户生成公钥和私钥:
ssh-keygen -t rsa
ll /root/.ssh
● 以root账户登录–>点击头像–>Settings–>SSH Keys。
● 复制刚才生成的id_rsa.pub文件的内容,点击“Add Key”:
同样尝试构建项目,如果代码可以正常拉取,则代表凭证配置成功。
#下载
wget https://mirrors.bfsu.edu.cn/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.zip --no-check-certificate
#解压
unzip -d /usr/local apache-maven-3.6.3-bin.zip
#配置环境变量:
vim /etc/profile
|
\|/
# 增加到文件的末尾
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.9.11-2.el7_9.x86_64
export MAVEN_HOME=/usr/local/apache-maven-3.6.3
export PATH=$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin
|
\|/
# 刷新配置文件
source /etc/profile
|
\|/
#查看是否安装成功:
mvn -v
修改Maven的本地仓库,并配置镜像:
cd /usr/local/apache-maven-3.6.3
mkdir repository
vim conf/settings.xml
<!-- 修改内容 -->
<localRepository>/usr/local/apache-maven-3.6.3/repository</localRepository>
<mirrors>
<!-- 修改内容 -->
<mirror>
<id>aliyunmaven</id>
<mirrorOf>*</mirrorOf>
<name>阿里云公共仓库</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
</mirrors>
JDK11
/usr/lib/jvm/java-11-openjdk-11.0.9.11-2.el7_9.x86_64
apache-maven-3.6.3
/usr/local/apache-maven-3.6.3
JAVA_HOME
/usr/lib/jvm/java-11-openjdk-11.0.9.11-2.el7_9.x86_64
M2_HOME
/usr/local/apache-maven-3.6.3
PATH+EXTRA
$M2_HOME/bin
输入如下的构建命令:
mvn clean install
对于Maven项目部署来说,推荐安装下面这个插件,从而直接根据项目的pom文件进行项目的部署。