jenkins安装

安装docker

yum install -y yum-utils

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

yum install -y docker-ce

安装docker-compose

yum install -y docker-compose

拉取镜像

docker pull jenkins/jenkins:2.319.1-lts

创建目录

mkdir -p docker/jenkins_docker

编写docker-compose.yml文件

version: ‘3.1’

services:

jenkins:

image: jenkins/jenkins:2.319.1-lts

container_name: jenkins

ports:

- 8080:8080

- 50000:5000

volumes:

- ./data/:/var/jenkins_home/

目录赋权限

chmod -R 777 data

ps:宿主机目录没权限会导致安装失败

启动 容器

docker-compose up -d

查看日志

docker logs -f jenkins

安装maven

安装maven

wget http://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz

tar -zxvf apache-maven-3.3.9-bin.tar.gz

mv apache-maven-3.3.9/ maven/

编辑setting文件,设置jar包仓库

alimaven

aliyun maven

​ http://maven.aliyun.com/nexus/content/groups/public/

central

修改setting,设置代码编译

jdk8

​ true

​ 1.8

​ <maven.compiler.source>1.8</maven.compiler.source>

​ <maven.compiler.target>1.8</maven.compiler.target>

​ <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>

安装JDK

maven、jdk移动到jenkins_home下

在这里插入图片描述

jenkins镜像使用宿主docker

宿主机docker.sock提升权限

cd /var/run

chown root:root docker.sock

chmod o+rw docker.sock

编辑docker-compose文件

vi docker-compose.yml

version: ‘3.1’

services:

jenkins:

image: jenkins/jenkins:2.319.1-lts

container_name: jenkins

ports:

- 8080:8080

- 50000:5000

volumes:

- ./data/:/var/jenkins_home/

- /var/run/docker.sock:/var/run/docker.sock

- /usr/bin/docker:/usr/bin/docker

- /etc/docker/daemon.json:/etc/docker/daemon.json

安装插件

GitLab Plugin

Git Parameter Plug-In

Publish Over SSH

Docker Pipeline

Pipeline Utility Steps

Pipeline Maven Integration Plugin

配置maven、jdk

在这里插入图片描述

配置k8s服务器信息

在这里插入图片描述

创建流水线

在这里插入图片描述

编写脚本

在这里插入图片描述

node {

def mvnHome

def jdkHome

def docker_host = “39.108.55.40:80”

def img_name

def docker_img_name

stage(‘git-clone-and-setting-env’) { // for display purposes

​ // Get some code from a GitHub repository

​ git branch: “${branch}”, credentialsId: ‘gitlab’, url: ‘ssh://git@47.112.130.116:2224/root/web-demo.git’

​ // Get the Maven tool.

​ // ** NOTE: This ‘M3’ Maven tool must be configured

​ // ** in the global configuration.

​ mvnHome = tool ‘maven’

​ jdkHome = tool ‘jdk8’

​ env.PATH = “ m v n H o m e / b i n : {mvnHome}/bin: mvnHome/bin:{jdkHome}/bin:${env.PATH}”

​ pom = readMavenPom file: ‘./pom.xml’

​ echo “${pom}”

​ img_name = “${pom.artifactId}”

​ docker_img_name = “ d o c k e r h o s t / {docker_host}/ dockerhost/{pom.artifactId}/ i m g n a m e : {img_name}: imgname:{pom.version}”

​ echo “group: ${pom.groupId}, artifactId: ${pom.artifactId}, version: ${pom.version}”

}

stage(‘maven-build-jar’) {

​ // Run the maven build

​ sh “mvn clean package -Dmaven.test.skip=true”

}

stage(‘docker-image-prune’) {

​ sh “docker image prune -f”

​ img_id = sh(script:“docker images | grep ${img_name} | awk ‘{print $3}’”, returnStdout: true).trim()

​ echo “${img_id}”

​ sh “docker rmi ${img_id} -f”

}

stage(‘docker-build-image’) {

​ sh ‘pwd’

​ sh “docker build -t ${docker_img_name} .”

}

stage(‘docker-image-push’) {

​ sh ‘docker login -u admin -p Harbor12345 39.108.55.40:80’

​ sh “docker push ${docker_img_name}”

}

}

去安装harbor再继续

修改harbor仓库地址

vi /etc/docker/daemon.json
{

“insecure-registries”: [“39.108.55.40:80”]

}

验证登录harbor

docker login -u admin -p Harbor12345 39.108.55.40:80

运行流水线

在这里插入图片描述
镜像构建成功
在这里插入图片描述

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐