Jenkins在Linux环境下的安装与配置

Jenkins是一个开源软件项目,是基于Java开发的一种持续集成(CI)工具,用于解决持续重复的部署、监控工作;它一个开放易用的软件平台,大大简化软件的持续集成。

安装Jenkins

1.使用docker安装

2.本地下载jenkins的war包

Jenkins download and deployment

 这里查看历史版本和对应java版本对应关系

这里我用的是2.346.3版本,对应java8

我把jenkins.war上传的目录是/root/jenkins,编写启动脚本/jenkins.sh

#!/bin/bash
nohup java -jar jenkins.war --httpPort=8085  > /root/jenkins/jenkins.log  2>&1 &

PS:使用java11 安装jenkins 2.431版本,启动报错如下需要安装yum install fontconfig.使用java8安装的jenkins版本后有很多插件装不上,所以重新安装最新版本的jenkins。

 启动后查看日志正常。

linux环境配置

jenkins自动部署,本质上就是把代码拉取到服务器,然后打包;再把包发到指定的位置,可能在当前服务器、也可能需要传到远程服务器;最后启动。

 

1.在jenkins客户端-全局配置中,配置jdk信息

2.配置git

3.配置maven

使用本地git仓库和pipeline构建

本地git仓库地址是/data/myproject

 新建一个流水线任务

 如果测试用下面的只修改流水线那栏的东西即可

 git地址使用本地仓库目录

 

设置好后进行构建,遇到报错:unable to find Jenkinsfile 

所以在git中增加Jenkinsfile文件,内容为

pipeline {
    agent any
    stages {
        stage('Hello') {
            steps {
                sh 'echo hello,world'
            }
        }
    }
}

再次构建,仍报错:you can allow local checkouts anyway by setting the system property  'hudson.plugins.git.GitSCM.ALLOW_LOCAL_CHECKOUT' to true.

由于用的是git本地仓库没有用gitlab,所以报错,需要启动时增加一个属性。

nohup java -Dhudson.plugins.git.GitSCM.ALLOW_LOCAL_CHECKOUT=true -Dhudson.security.csrf.GlobalCrumbIssuerConfiguration.DISABLE_CSRF_PROTECTION=true  -Dhudson.security.csrf.GlobalCrumbIssuerConfiguration=false -jar jenkins.war --httpPort=8089 > /home/jenkins/jenkins.log 2>&1 &

 再次构建,成功 ​​​​​​

看日志显示,构建过程是从git本地仓库fetch获取内容到这个项目的workspace中,再按照Jenkinsfile中所写的内容构建。

git上传代码后,使用mvn命令打包

如下图,上传了代码后,想要使用mvn clean package 对其打包 

 刚开始的写法是

pipeline{
agent any
stages{
        stage("get code"){
                steps{
                        echo "get code from scm"
                }
        }
        stage("package"){
                steps{
                        sh 'pwd
                        sh 'cd ./jeecg-boot'
						sh 'pwd'
                        sh 'mvn clean package'
                }
        }
        stage("deploy"){
                steps{
                        echo "deploy packge to node1"
                }
        }
}
}

 构建后会报错,说mvn的时候找不到pom.xml 文件,pwd两次查看的目录都是

/home/jenkins/.jenkins/workspace/gitline

说明每次执行命令的主目录都是/home/jenkins/.jenkins/workspace/gitline,所以要在一条命令中执行

pipeline{
agent any
stages{
        stage("get code"){
                steps{
                        echo "get code from scm"
                }
        }
        stage("package"){
                steps{
                        sh 'pwd'
                        sh 'cd ./jeecg-boot && pwd && mvn clean package -Dmaven.test.skip=true'
                }
        }
        stage("deploy"){
                steps{
                        echo "deploy packge to node1"
                }
        }
}
}

遇到mvn使用的权限问题,我测试使用root安装的,用jenkins执行的,所以重新给mvn的仓库目录赋权就ok了。


 

禅道中使用jenkins的流水钱

建一个执行任务编号是1 

通过git提交代码,注释为 task #任务号  

 git commit -m 'task #1 add code '

上传git后中文总显示乱码,需要更改.git隐藏目录下的config文件

增加一个quotepath = false 

jenkins部署前端项目

  1. 安装NodeJS 插件

 

参考文章:

【精选】Jenkins在Linux环境下的安装与配置,包含遇到的问题以及解决方法_linux jenkins安装与配置_梅西库里RNG的博客-CSDN博客​​​​​​

linux系统部署jenkins详细教程_jenkins安装与配置 linux_理想万岁万万岁的博客-CSDN博客

Linux安装maven指定版本_maven安装哪个版本_无敌小肥007的博客-CSDN博客

(五)devops持续集成开发——jenkins发布一个maven流水线项目_jenkins流水线构建maven项目-CSDN博客

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大宇进阶之路

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值