首页 > 数据库 > 数据库开发技术 > 最简单的Jenkins使用学习~
Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作,功能包括:
1、持续的软件版本发布/测试项目。
2、监控外部调用执行的工作。
官方文档
# sudo wget -O /etc/yum.repos.d/jenkins.repo \
https://pkg.jenkins.io/redhat-stable/jenkins.repo
# sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
# sudo yum upgrade
# sudo yum install java-11-openjdk-devel
# yum install jenkins -y
如果安装失败
手动下载rpm 包
安装完成后
可以看到在jenkins 的项目目录和配置文件
/usr/lib/jenkins/jenkens.war
/etc/sysconfig/jenkins 为rpm和yum安装的jenkins的配置文件,里面有启动端口等信息,默认是8080,
# systemctl start jenkins

less /var/log/jenkins/jenkins.log

admin密码,初始化安装时会用到
/var/lib/jenkins/secrets/initialAdminPassword //admin密码也可以在这里查到
http://10.10.1.128:8080

为保证效率 先修改源
vim /var/lib/jenkins/hudson.model.UpdateCenter.xml

更改为https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json是国内的清华大学的镜像地址。
或者更改为http://updates.jenkins.io/update-center.json,即去掉 https 中的 s 。
安装推荐插件
等待完成


保存并完成


先确定更新源可用




修改完成后 根据提示下载需要的插件

中文插件安装




一般情况下,war的安装路径在/usr/lib/jenkins目录下

可以在system info 中查到

下载好最新的war包

也可以自己去官网下载
https://updates.jenkins-ci.org/download/war/
http://mirror.xmission.com/jenkins/war-stable/
http://ftp.yz.yamagata-u.ac.jp/pub/misc/jenkins/war-stable/
https://mirrors.tuna.tsinghua.edu.cn/jenkins/ (这个是清华的镜像链接)
停止jenkins
systemctl stop jenkins
将以前的war包备份后传入新的war 包


GitLab
Gitlab Hook
Gitlab Authentication
Gitlab API
GitLab Branch Source
gitlab 安装配置过程省略



jenkins PublishOverSSH

这里创建项目的时候使用的自由风格的
添加jenkins 登陆gitlab 用户密码认证







测试一下是否为200

添加构建后操作

简单说明:
SSH Server,Name 选择对应的服务器,
Transfers, Source files填写**/**,表示全部文件
Remove prefix可以指定截掉的前缀目录,这里留空即可,
Remote directory指定远程服务器上代码存放路径,比如/data/wwwroot/
Exec command为文件传输完成后要执行的命令,比如可以是更改文件权限的命令,设置完成后点击 “Add Transfer Set”,如果还有另外的机器,可以点击 “Add Server”重复以上操作
[root@tomcat test]# mv ../index.html .
[root@tomcat test]# git add .
[root@tomcat test]# git commit -m "new index"
[master 1b35b85] new index
1 file changed, 1 insertion(+)
create mode 100644 index.html
[root@tomcat test]# git push origin master
Counting objects: 4, done.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 317 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To git@10.10.1.100:root/test.git
af57b8f..1b35b85 master -> master
[root@tomcat test]#
jenkins 这边会触发构建


[root@tomcat test]# ll
total 8
-rwxrwxrwx 1 root root 12 Jul 29 10:00 index.html
-rwxrwxrwx 1 root root 0 Jul 29 10:47 README.md
-rwxrwxrwx 1 root root 1 Jul 29 10:47 test_one.txt
[root@tomcat test]#
[root@tomcat test]# cat index.php
<?php
echo "testone";
?>
[root@tomcat test]#

修改推送
[root@jenkins test]# vim index.php
[root@jenkins test]# cat index.php
<?php
echo "1\n";
echo "2\n";
echo "3\n";
echo "4\n";
echo "5\n";
?>
[root@jenkins test]# git add .
[root@jenkins test]# git commit -m "change"
[master 56ea1b0] change
2 files changed, 2 insertions(+), 1 deletion(-)
[root@jenkins test]# git push origin master
Counting objects: 7, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (4/4), done.
Writing objects: 100% (4/4), 470 bytes | 0 bytes/s, done.
Total 4 (delta 0), reused 0 (delta 0)
To git@10.10.1.100:root/test.git
6e80cf8..56ea1b0 master -> master
[root@jenkins test]#


项目地址
拿到源码之后做一点修改,修改pom,xml 删除servoce1

java环境:

安装步骤和配置省略
# cat /etc/tomcat/tomcat-users.xml

(这里之前做php已经做了用户密码的认证/秘钥认证)
Maven Intergration
Pipeline Maven Integratio
Maven Deployment Linker
Git Parameter
Deploy to container
SSH相关

创建maven项目
源码管理

这里需要先按照maven
https://ftp.riken.jp/net/apache/maven/maven-3/3.8.1/binaries/apache-maven-3.8.1-bin.zip
我这里使用的3.6版本从网盘获取
链接:https://pan.baidu.com/s/1sTosy7Bh5LYkGyCaejn_AA 提取码:1010 --来自百度网盘超级会员V4的分享



jenkins 服务器上

vim /etc/profile
MAVEN_HOME=/usr/local/maven
ex port MAVEN_HOME
export PATH=$PATH:${MAVEN_HOME}/bin
[root@jenkins local]# source /etc/profile
[root@jenkins local]# mvn -v
Apache Maven 3.6.1 (d66c9c0b3152b2e69ee9bac180bb8fcc8e6af555; 2019-04-05T03:00:29+08:00)
Maven home: /usr/local/maven
Java version: 11.0.12, vendor: Red Hat, Inc., runtime: /usr/lib/jvm/java-11-openjdk-11.0.12.0.7-0.el7_9.x86_64
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "5.4.135-1.el7.elrepo.x86_64", arch: "amd64", family: "unix"
[root@jenkins local]#
# vim conf/settings.xml
<mirrors>
<mirror>
<id>aliyunmaven</id>
<mirrorOf>*</mirrorOf>
<name>阿里云公共仓库</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
</mirrors>

通过对应的tag构建


发布到服务器

1:
[/root/.jenkins/workspace/msm-demo/target/msm-demo.war] is not deployed. Doing a fresh deployment.
Deploying [/root/.jenkins/workspace/msm-demo/target/msm-demo.war]
ERROR: Publisher hudson.plugins.deploy.DeployPublisher aborted due to exception
解决办法: 重启tomcat 可能是由于tomcat 的jvm设置太小 导致内存溢出
2:
HTTP Status 403 - No valid crumb was included in the request
解决办法: 在全局配置安全配置中关闭CSRF
原文作者:步步运维步步坑;如有侵权,请联系管理员删除。