Jenkins集成CICD所需环境、工具


我用到的主要有:
编译环境:jdk、nodejs、c、
CI部分:gitlab、sonar、nexus
CD部分:dockerhub、publish ssh
本节主要先配置编译环境,Jenkins版本 2.235

Jenkins所有的配置入口都从首页-Manage Jenkins进入,之后就略过这一步了,进去后是一大堆的更新提醒,觉着碍眼可以从设置里关闭提醒。

然后选全局配置

第一个是系统配置 第二个全局工具配置 第三个插件配置 第四个是集群配置。
默认的全局配置里只有这些,其他需要如docker、ansiable等都需要安装相应的插件。

CI

jdk

jdk使用jenkins自动安装需要oracle账户,配置好也没啥用,会出一个商业许可的警告,可能账户注册的不是商用的吧。
所以只能手工安装了:
1、在jenkins的服务上将下载好的jdk放到usercontent目录中
路径 :/var/lib/jenkins/userContent
解压,在jenkins中配置JAVA_HOME

nodejs

安装nodejs需要用到插件,插件介绍

在全局配置中找到nodejs,这个可以自动安装哦

测试:
编辑测试项目nodejs_env_test

echo $PATH
node --version
npm --version

执行构建:
部署成功

maven

下载地址

mkdir /usr/local/maven
tar -zxvf apache-maven-3.5.3-bin.tar.gz
设置环境变量
MAVEN_HOME = /usr/local/maven/apache-maven-3.6.1/bin
PATH=$PATH:$HOME/bin:$MAVEN_HOME
测试
mvn -v 

安装插件

集成

也可以选择自动安装

docker

在jenkins全局工具中配置docker

新建一个pipeline项目

pipeline {
    agent any
    tools {
        dockerTool 'docker-latest' 
    }
    stages {
        stage('Example') {
            steps {
                sh 'docker --version'
            }
        }
    }
}

注意:Valid tool types: [dockerTool, org.jenkinsci.plugins.docker.commons.tools.DockerTool, git, hudson.plugins.git.GitTool, gradle, hudson.plugins.gradle.GradleInstallation, jdk, hudson.model.JDK, jgit, org.jenkinsci.plugins.gitclient.JGitTool, jgitapache, org.jenkinsci.plugins.gitclient.JGitApacheTool, maven, hudson.tasks.Maven$MavenInstallation, hudson.plugins.mercurial.MercurialInstallation]

CD

gitlab

GitLab API Plugin 插件介绍
配置gitlab的webhook
1.在jenkins上安装插件Gitlab Hook Plugin,GitLab Plugin,Gitlab Authentication plugin
2.新建项目--在jenkins项目中--构建触发器--Build when a change is pushed to GitLab.


点高级

3.登录gitlab进入对应的项目,把复制的url和token粘贴到图上URL位置,点击add webhook


Url填写在jenkins中配置构建触发器保存的url
Token填写在jenkins中配置构建触发器generate的那串代码

点击test-选择push event-成功显示http 200

在jenkins配置gitlab凭证

上传文件
注意:

dockerhub

配置凭证
使用

SSH

使用publish over ssh插件配置实现jenkins远程ssh服务器执行部署。多使用在自由风格项目,使用shell脚本执行。
位置:Manage jenkins-- Configure System--下拉到末尾即可看到
注意:passphrase填写的是要部署服务器的密码,而私钥地址是jenkins服务器的地址,因为jenkins要ssh到该服务器部署gitlab变更的代码文件。


在jenkins中配置构建

posted @ 2020-07-17 09:50  名字很长容易被惦记  阅读(457)  评论(0编辑  收藏  举报