ITPub博客

首页 > 数据库 > 数据库开发技术 > 最简单的Jenkins使用学习~

最简单的Jenkins使用学习~

原创 数据库开发技术 作者:步步运维步步坑 时间:2023-11-01 10:59:28 0 删除 编辑

简介

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

jdk 安装

# sudo yum install java-11-openjdk-devel

安装jenkins

# 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 配置gitlab 认证

添加gitlab 凭证


jenkins PublishOverSSH

创建项目

php项目

这里创建项目的时候使用的自由风格的

添加gitlab凭证

添加jenkins 登陆gitlab 用户密码认证

测试gitlab 可用


构建触发器

gitlab 配置webhook

测试一下是否为200

配置Publish Over ssh

添加构建后操作

简单说明:


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]#

开始php测试

[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]#

使用 java项目

项目地址


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

环境

java环境:

tomcat 安装

安装步骤和配置省略

# cat /etc/tomcat/tomcat-users.xml


jenkins 认证

(这里之前做php已经做了用户密码的认证/秘钥认证)


插件安装

Maven Intergration

Pipeline Maven Integratio

Maven Deployment Linker

Git  Parameter

Deploy to container

SSH相关

对于tomcat 的认证

maven项目配置

创建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的分享


maven安装

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>

maven 项目配置后续

通过对应的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


原文作者:步步运维步步坑;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论

注册时间:2022-10-08

  • 博文量
    100
  • 访问量
    51720