jenkins安装和部署

jenkins安装尽量不要用Docker来安装,不然会有很多坑,用我下面的方法去安装

JDK

yum install java-1.8.0-openjdk* -y

安装目录:

/usr/lib/jvm

yum  -y install epel-release
yum -y install daemonize

安装jenkins

镜像

https://mirrors.aliyun.com/jenkins/redhat-stable/?spm=a2c6h.25603864.0.0.5103166aqfIgQr

rpm -ivh jenkins-2.319.1-1.1.noarch.rpm
#修改 
vi /etc/sysconfig/jenkins
JENKINS_USER="root"
JENKINS_PORT="8888"

#重启
systemctl start jenkins
systemctl enable jenkins

访问接口

http://192.168.182.130:8888/

#修改镜像源

cd /var/lib/jenkins/updates

sed -i 's/http:\/\/updates.jenkins-ci.org\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.json && sed -i 's/http:\/\/www.google.com/https:\/\/www.baidu.com/g' default.json

Global Tool Configuration配置

查询java和maven环境

cat /etc/profile
末尾如下配置:
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
export MAVEN_HOME=/usr/share/maven
export PATH=$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin

根据环境配置git、maven、jdk

Configure System配置

找到 < 全局属性>

JAVA_HOME

/usr/lib/jvm/java-1.8.0-openjdk

M2_HOME

/usr/share/maven

PATH+EXTRA

$M2_HOME/bin

构建流水线项目(pipline)教程和模板

去插件中心插件安装 pipeline

使用pipeline script 构建流水

模板

pipeline {
    agent any

    stages {
        stage('pull code') {
            steps {
                echo 'pull code'
            }
        }
         stage('build project') {
            steps {
                echo 'build project'
            }
        }
         stage('publish code') {
            steps {
                echo 'publish code'
            }
        }
    }
}

第一步、打开流水线语法

使用片段生成器生成流水线脚本,

拉取代码

选择checkout: Check out from version controll =>设置git仓库地址和 Credentials=>生成流水线脚本===>
checkout([$class: 'GitSCM', branches: [[name: '*/master']], extensions: [], userRemoteConfigs: [[credentialsId: 'gitee-auth-password', url: 'https://gitee.com/xxxx/xxxx.git']]])===>放到steps中如下:

pipeline {
    agent any

    stages {
        stage('pull code') {
             steps {
                checkout([$class: 'GitSCM', branches: [[name: '*/master']], extensions: [], userRemoteConfigs: [[credentialsId: 'gitee-auth-password', url: ''https://gitee.com/xxxx/xxxx.git']]])
            }
        }
         stage('build project') {
            steps {
                echo 'build project'
            }
        }
         stage('publish code') {
            steps {
                echo 'publish code'
            }
        }
    }
}

构建项目

同理选择 sh: Shell Script===>输入打包命令 mvn clean package -Dmaven.test.skip=true===>执行得到流水线脚本 sh ‘mvn clean package -Dmaven.test.skip=true’

pipeline {
    agent any

    stages {
        stage('pull code') {
             steps {
                checkout([$class: 'GitSCM', branches: [[name: '*/master']], extensions: [], userRemoteConfigs: [[credentialsId: 'gitee-auth-password', url: ''https://gitee.com/xxxx/xxxx.git']]])
            }
        }
         stage('bulid code') {
            steps {
                echo 'bulid code'
            }
        }
        stage('build project') {
            steps {
                sh 'mvn clean package -Dmaven.test.skip=true'
            }
        }
        stage('publish code') {
            steps {
                echo 'publish code'
            }
        }
    }
}

项目部署

stage('deploy demo'){
    steps{
        sh '''#!/bin/bash

        echo \'build start demo!\'
        #切换到要部署的微服务目录下,jenkins执行时,默认在workspace下的当前总工程下操作脚本
        cd ./demo
        #微服务起个名字(起个镜像名字)
        service_name="demo"
        #exposure port
        service_port=20000
        #app version
        service_version="v0.0.1"

        #查看容器id
        CID=$(docker ps -a | grep "$service_name" | awk \'{print $1}\')
        echo "CID $CID"
        if [ -n "$CID" ]
        then
            echo "exist $service_name container,CID=$CID"
            #停止
            docker stop $CID
            #删除容器
            docker rm $CID
        else
            echo "no exist $SERVER_NAME container"
        fi

        #查看镜像id,并且输出第3列,赋值给IID
        IID=$(docker images | grep "$service_name" | awk \'{print $3}\')
        echo "IID $IID"
        if [ -n "$IID" ]
        then
            echo "exist $SERVER_NAME image,IID=$IID"
            #删除镜像
            docker rmi -f $IID
            echo "delete $SERVER_NAME image"
            #构建
            docker build -t $service_name:$service_version .
            echo "build $SERVER_NAME image"
        else
            echo "no exist $SERVER_NAME image,build docker"
            #构建
            docker build -t $service_name:$service_version .
            echo "build $SERVER_NAME image"
        fi

        #启动
        echo "docker run image=$service_name:$service_version"
        docker run -d --name $service_name -p $service_port:$service_port $service_name:$service_version
        #查看启动日志
        #docker logs -f  $service_name'''
    }
}

将这个steps 放到里面,每个微服务都一样操作
stage(‘publish code’) {
steps {
echo ‘publish code’
}
}

使用 pipeline script from SCM 方式实现流水

写好Jenkinsfile后,放到idea项目的根目录下,注意是J是大写的,然后推送到远程仓库
然后流水线使用 pipeline script from SCM,弃用UI界面的pipeline script 流水方式

Jenkins代码审查配置SonarQube

服务器安装SonarQube

https://blog.csdn.net/weixin_45031570/article/details/127988716?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22127988716%22%2C%22source%22%3A%22weixin_45031570%22%7D

jenkins管理插件下载安装SonarQube

然后在Global Tool Configuration中安装SonarQube Scanner
Configure system中配置SonarQube servers,并且吧SonarQube的token写入配置里

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Jenkins是一个开源的持续集成工具,可以用于自动化构建、测试和部署软件项目。要安装部署Jenkins,可以按照以下步骤进行操作。 首先,你需要确保你的系统已经安装了JDK11的JAVA环境。你可以从官方网站https://www.jenkins.io/下载Jenkins安装包。 接下来,你可以将JDK11安装包拖到opt目录下,并使用以下命令安装JDK11: ``` rpm -ivh jdk-11.0.15.1_linux-x64_bin.rpm ``` 然后,你可以继续安装Jenkins。使用以下命令安装Jenkins: ``` rpm -ivh jenkins-2.332.3-1.1.noarch.rpm ``` 安装完成后,你可以通过访问Jenkins的官方网站https://www.jenkins.io/来进一步配置和管理JenkinsJenkins具有易于安装部署配置的特点。你可以通过使用yum进行安装,或者下载war包,也可以使用docker容器来快速实现安装部署。在安装完成后,你可以通过Web界面对Jenkins进行配置管理。 Jenkins还支持消息通知和测试报告功能,可以通过集成RSS和E-mail来发布构建结果或在构建完成时发送通知,还可以生成JUnit和TestNG测试报告。 另外,Jenkins还支持分布式构建,即多台计算机可以同时参与构建和测试。它还具有文件识别的功能,可以跟踪哪次构建生成了哪些jar文件,以及哪次构建使用了哪个版本的jar文件。 最后,Jenkins还拥有丰富的插件支持,你可以根据团队的需求开发适合自己的插件,如git、svn、maven、docker等。 综上所述,安装部署Jenkins可以通过以上步骤完成,并且Jenkins具有易于安装配置和丰富的特性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值