gitlab+jenkins+harbor+k8s--02jenkins安装
jenkins安装安装dockeryum install -y yum-utilsyum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repoyum install -y docker-ce安装docker-composeyum install -y docker-comp
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
安装插件
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
运行流水线
镜像构建成功
更多推荐
所有评论(0)