jenkins+gitlab+harbor+maven自动化容器部署

avatar
作者
猴君
阅读量:0

一、gitlab安装配置

1.1、安装

由于比较懒啊!这里就直接使用docker安装了啊!
没事先更新一个yum源:yum update -y
整一个gitlab镜像:docker pull gitlab/gitlab-ce
运行一个gitlab容器:docker run -d -p 8443:443 -p 8090:80 -p 8022:22 --name gitlab --restart always -v /home/local/gitlab_docker/gitlab:/etc/gitlab -v /home/local/gitlab_docker/logs:/var/log/gitlab -v /home/local/gitlab_docker/data:/var/opt/gitlab gitlab/gitlab-ce
确认容器是否启动成功:docker ps
在这里插入图片描述
参数简单说明:
要详细说明的自己去看官方文档啊!
-d:后台运行

-p:端口映射,宿主机端口:容器端口

–name: 给将要运行的容器命名

–restart always:docker启动的时候,也自行启动

-v:挂载目录,宿主机目录:容器目录

gitlab/gitlab-ce:要运行的镜像

1.2、修改gitlab.rb配置文件

vim /home/local/gitlab_docker/gitlab/gitlab.rb 

修改成下面这样就好了呀!
在这里插入图片描述

1.3、重启配置

链接容器重启配置:docker exec -it gitlab gitlab-ctl reconfigure
这里需要的时间比较久,你忍耐一下
启动成功了,网页验证一下就好了
在这里插入图片描述

1.4、登录gitlab

查看root初始密码:docker exec -it gitlab cat /etc/gitlab/initial_root_password
在这里插入图片描述
好了用这个临时密码登录上后就自己去改密码吧!

1.5、修改clone端口

有没有发现一个小问题呀!当我们去clone的时候ssh的端口是对滴,但是http的端口不对,那应该怎么办了,这个简单啊!简单修改下配置文件就行了啊!

docker exec -it gitlab vi /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml 

在这里插入图片描述
重启gitlab:docker exec -it gitlab gitlab-ctl restart
OK,现在再去clone的话,http的路径也对了

二、安装harbor

大家没事可以参考我另外一篇文章啊!安装harbor
这里也简单安装一下吧!

2.1、安装docker-compose

安装:curl -L "https://github.com/docker/compose/releases/download/v2.28.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
其实这里是三个小步骤啊!一是下载2.28.1版本、二是拷贝到/usr/local/bin/、三是重命名为docker-compose
赋权:chmod +x /usr/local/bin/docker-compose
验证:docker-compose -v
在这里插入图片描述

2.2、安装harbor

切换目录:cd /home/local/
下载安装包:wget https://github.com/goharbor/harbor/releases/download/v2.10.3/harbor-offline-installer-v2.10.3.tgz
解压:tar xzvf harbor-offline-installer-v2.10.3.tgz
拷贝配置文件:cp /home/local/harbor/harbor.yml.tmpl /home/local/harbor/harbor.yml
修改配置文件:vim /home/local/harbor/harbor.yml
在这里插入图片描述
安装harbor:/home/local/harbor/install.sh
启动harbor:docker-compose -f /home/local/harbor/docker-compose.yml restart

2.3、配置harbor

docker配置harbor私服:vim /etc/docker/daemon.json
在这里插入图片描述
重启生效:systemctl daemon-reload && systemctl restart docker&&docker-compose -f /home/local/harbor/docker-compose.yml restart
登录测试:docker login -u admin -p Harbor12345 http://10.10.30.34:8070
打标签:docker tag tomcat:latest 10.10.30.34:8070/test_public/image_test:v1
上传测试:docker push 10.10.30.34:8070/test_public/image_test:v1

三、jenkins

3.1、安装jenkins

参考官方文档
下载jenkins源:wget https://pkg.jenkins.io/redhat/jenkins.repo -O /etc/yum.repos.d/jenkins.repo --no-check-certificate
导入key:rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io-2023.key
安装jdk: yum install fontconfig java-17-openjdk -y
若jdk为安装成功则使用如下方案:
下载jdk:wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.rpm
安装jdk:yum -y install ./jdk-17_linux-x64_bin.rpm
修改环境变量:vim /etc/profile

export JAVA_HOME=/usr/java/jdk-17 export PATH=$JAVA_HOME/bin:$PATH  

环境变量生效:source /etc/profile
安装jenkins: yum install jenkins -y

3.2、启动jenkins

开机自启:systemctl enable jenkins
启动jenkins:systemctl start jenkins

3.3、安装插件

Dashboard–>Manage Jenkins–>Plugins–Available plugins
选择安装一个Git Parameter给大家示范一下,其余的大家按需安装啊!
在这里插入图片描述
点击安装等待安装完即可啊!重启才能生效哦!我这个人比较懒,重启就是直接http://10.10.30.34:8080/restart

四、安装maven

切换目录:cd /home/local/
下载安装包:wget https://dlcdn.apache.org/maven/maven-3/3.9.8/binaries/apache-maven-3.9.8-bin.tar.gz
解压:tar xzvf apache-maven-3.9.8-bin.tar.gz
修改配置:vim apache-maven-3.9.8/conf/settings.xml
http://maven.aliyun.com/nexus/content/groups/public/
在这里插入图片描述
配置环境变量:vim /etc/profile

export MVN_HOME=/home/local/apache-maven-3.9.8/ export PATH=$MVN_HOME/bin:$PATH  

环境变量生效:source /etc/profile

五、Jenkins配置使用

5.1、git上传到gitlab

为了方便测试呀!我在网上随便整理个开源的Java项目上传到gitlab,这个网上一大把,大家随意去搜啊!
初始化:git init
添加所有文件到本地仓库:git add .
配置邮箱:git config --global user.email "admin@example.com"
配置用户:git config --global user.name "root"
提交本地仓库:git commit -m "Initial commit"
添加GitLab仓库地址作为远程仓库:git remote add origin http://10.10.30.34:8090/root/test.git
推送代码到GitLab:git push -u origin master

5.2、jenkins工具配置

Dashboard–>Manage Jenkins–>System Configuration–>Tools
maven配置
在这里插入图片描述
JDK安装
在这里插入图片描述

git安装
在这里插入图片描述

5.3、item配置

新建item
在这里插入图片描述
配置Discard old builds
自己根据需求来啊!
在这里插入图片描述
配置This project is parameterized
新增String Parameter
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/07dd58aa4b03495c93382eff73c7a0fb.png
新增Git Parameter
在这里插入图片描述

编写脚本
流水线语法生产拉取gitlab代码
在这里插入图片描述

增加连接凭证
在这里插入图片描述
点击生成流水线脚本
在这里插入图片描述
流水线语法生产harbor验证
在这里插入图片描述

在这里插入图片描述
Pipeline script

pipeline {     agent any      stages {         stage('pull source') {             steps {                 checkout scmGit(branches: [[name: '*/${branch}']], extensions: [], userRemoteConfigs: [[credentialsId: 'fe750087-98f6-4d98-b62d-3e28e826c18f', url: 'http://10.10.30.34:8090/root/test.git']])             }         }         stage('maven') {             steps {                 sh ''' /home/local/apache-maven-3.9.8/bin/mvn clean package -DskipTests '''             }         }         stage('docker_harbor') {             steps {                 withCredentials([usernamePassword(credentialsId: '8e1d6054-68b1-4e85-b5a2-a444b2a1b5e6', passwordVariable: 'password', usernameVariable: 'username')]) {                     sh ''' docker build -f test.yml -t 10.10.30.34:8070/test_public/image_test:${Tag}  . '''                     sh ''' echo ${password} | docker login  -u ${username}   --password-stdin http://10.10.30.34:8070 '''                     sh ''' docker push 10.10.30.34:8070/test_public/image_test:${Tag} '''                     sh ''' docker images | grep 'image_test'| awk '{print $3}'|xargs docker rmi ''' }             }         }     }       }  

5.3、构建

在这里插入图片描述

5.4、Build with Parameters 可能遇到的问题

maven内存不足

dd if=/dev/zero of=/swapfile bs=1M count=3190 mkswap /swapfile swapon /swapfile 

docker.sock: connect: permission denied
本人比较懒,直接777权限整上

chmod 777 /var/run/docker.sock 

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!