一、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