一站式自动化部署Jenkins+docker部署GitLab

news/2024/7/12 2:33:39 标签: jenkins

一站式自动化部署Jenkins+docker部署GitLab

  • 一、准备工作
    • 1.1、创建目录和拉取镜像
  • 二、docker部署
    • 2.1、启动容器命令:
  • 三、问题整合
    • 3.1、GitLab
          • 1、GitLab设置中文
          • 2、设置ssh
    • 3.2、文件脚本
          • 1、:jenkins配置文件
          • 2、:linux打包脚本jenkins-build.sh
          • 3、:linux部署脚本jenkins-deploy.sh
          • 4、:dockerFile内容

声明:因为很多博客涉及问题解释不全,本博主主要目的就是按照实际生产环境搭配之后,把所有问题汇总收集,原文链接会放出来,若侵权请及时联系作者删除!

一、准备工作

1.1、创建目录和拉取镜像

mkdir -p /home/gitlab/config
mkdir -p /home/gitlab/logs   
mkdir -p /home/gitlab/data 
	
mkdir /var/jenkins_home 
chown -R 1000:1000 /var/jenkins_home

docker pull gitlab/gitlab-ce 
docker pull jenkins/jenkins

注意: 校准服务器时间,时间不对会导致GitLab登录异常。 ntpdate离线安装。

yum –y install ntp
ntpdate ntp1.aliyun.com

时间错位12小时,是安装npt默认纽约时区造成。

rm -rf /etc/localtime
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
systemctl restart ntpd

二、docker部署

2.1、启动容器命令:

GitLab命令:

docker run  -d --restart always  --hostname wqd.github  --name github  -p 3380:80  -p 3322:22 -p 3443:443 \
 -v /home/gitlab/config:/etc/gitlab  -v /home/gitlab/logs:/var/log/gitlab -v /home/gitlab/data:/var/opt/gitlab \
 gitlab/gitlab-ce

Jenkins命令: jenkins 部署问题 and 插件问题。

docker run --name myjenkins -p 8081:8080 -p 50000:50000 --env JAVA_OPTS="-Duser.timezone=GMT+08" \
 -v /var/jenkins_home:/var/jenkins_home -d jenkins/jenkins

插件问题替换下载源

sed -i 's/http:\/\/updates.jenkins-ci.org\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.json && sed -i 's/http:\/\/www.google.com/https:\/\/www.baidu.com/g' /var/jenkins_home/updates/default.json

linux部署命令,若需要使用jdk和maven,建议使用,下载jenkins。:

nohup  java -jar jenkins.war --httpPort=8008 >jenkins.text &

三、问题整合

3.1、GitLab

1、GitLab设置中文

在这里插入图片描述

2、设置ssh
ssh-keygen -t rsa -C "11111111@qq.com"
cat /root/.ssh/id_rsa.pub
ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.1.159

注意:添加sshkey之后还是报错是因为第一次需要输入yes,jenkins无法输入,需要在centos终端先clone中输入yes
git clone git@1docker 172.17.0.4:root/cn.gov.sach.git

在这里插入图片描述

3.2、文件脚本

jenkins_70">1、:jenkins配置文件
#!groovy
pipeline{
	agent any
	environment{
		MOUDLE="business"
	}
	
	stages{
		stage('获取代码'){
			steps{
				deleteDir()
				git branch: 'master', url: 'http://192.168.1.133:3380/root/ncha.git'
			}
		}
		
		stage('编译+单元测试'){
			steps{
				echo"start compile"
				sh "mvn -U -pl ${MOUDLE} -am clean package -Dmaven.test.skip=true "
		
			}
		}
		stage('构建镜像'){
			steps{
				echo"start build"
				sh "/root/jenkins-sh/jenkins-build.sh  ${MOUDLE} "
		
			}
		}
		stage('更新镜像'){
			steps{
				echo"start update"
				sh "/root/jenkins-sh/jenkins-deploy.sh  ${MOUDLE}"
			}
		}
	}
}
jenkinsbuildsh_112">2、:linux打包脚本jenkins-build.sh
#!/bin/bash
MOUDLE=$1
TIME="`date +%Y%m%d%H`"
IMAGE_NAME=${MOUDLE}:${TIME}
cd /root/.jenkins/jobs/ncha-master/workspacecd

cd ${MOUDLE}
docker build -t 192.168.1.132/ncha/${IMAGE_NAME} .

docker login -u admin -p Harbor12345 192.168.1.132

docker push 192.168.1.132/ncha/${IMAGE_NAME}
jenkinsdeploysh_128">3、:linux部署脚本jenkins-deploy.sh
#!/bin/bash
MOUDLE=$1
TIME="`date +%Y%m%d%H`"
IMAGE_NAME=${MOUDLE}:${TIME}

ssh root@192.168.1.159   << remotessh
docker pull 192.168.1.132/ncha/${IMAGE_NAME}
docker service update --image 192.168.1.132/ncha/${IMAGE_NAME} ncha_${MOUDLE/_/-}
exit
remotessh
4、:dockerFile内容
FROM 192.168.1.144/aaa/jre8:latest
MAINTAINER ncha

COPY target/*.jar /app.jar

ENTRYPOINT ["java", "-jar", "/app.jar"]

http://www.niftyadmin.cn/n/1859116.html

相关文章

Appium DeskTop连接模拟器(真机)测试报错Could not find a connected Android devicestarting now at tcp:5037

一、问题描述 测试小白&#xff0c;学习自动化测试&#xff0c;连接夜神模拟&#xff0c;真机也试过了&#xff0c;同样报错&#xff0c;这是问题是迄今为止我遇到最der&#xff08;东北话&#xff09;的问题&#xff0c;网上百度五花八门&#xff0c;全都是屁话&#xff0c;测…

selenium入门Java版

chromedriver下载配置 chromedriver下载链接 下载完成的chromedriver.exe文件解压到C:\Program Files (x86)\Google\Chrome\Application&#xff0c;之后把路径添加到环境变量中&#xff0c;在火狐浏览器中中添加Selenium IDE(谷歌浏览器要梯子) Firefox插件geckodriver下载链…

Easy code模板

automatic ##引入宏定义 $!define##使用宏定义设置回调&#xff08;保存位置与文件后缀&#xff09; #save("/domain", "DO.java")##使用宏定义设置包后缀 #setPackageSuffix("domain")##使用全局变量实现默认包导入 $!autoImport import lombok…

Selenium启动Firefox报错Failed to connect to localhost/0:0:0:0:0:0:0:1:4560

一、问题描述 java代码没问题&#xff0c;但是控制台&#xff0c;却出现如下错误&#xff1a; org.openqa.selenium.WebDriverException: java.net.ConnectException: Failed to connect to localhost/0:0:0:0:0:0:0:1:4560 Build info: version: 3.141.59, revision: e82be7…

selenium启动Firefox报错:Cannot find firefox binary in PATH. Make sure firefox is installed

一、问题描述 org.openqa.selenium.WebDriverException: Cannot find firefox binary in PATH. Make sure firefox is installed. OS appears to be: WIN10 Build info: version: 3.141.59, revision: e82be7d358, time: 2018-11-14T08:25:48 System info: host: DESKTOP-8EI5…

Linux修改静态ip

修改文件如下 vi /etc/sysconfig/network-scripts/ifcfg-ens33#BOOTPROTO"dhcp" BOOTPROTO"static" IPADDR192.168.1.5 #ip NETMASK255.255.255.0 GATEWAY192.168.1.1 #网关 DNS1192.168.1.1 #配置网关连接外网使文件生效&#xff0c;重新启动 source /e…

HttpWatch简单功能字段含义介绍(二)

目录一、缓存清空二、Overview1、界面展示2、字段含义介绍三、Time Chart1、界面展示2、字段含义介绍四、Headers&#xff08;头信息&#xff09;1、界面展示2、字段含义介绍3、右边Recevied4、Recevied字段介绍一、缓存清空 浏览器默认支持缓存&#xff0c;在录制之前没有清空…

Jdk/Maven/AndroidSdk/JMeter/Sonar 快速部署

1、删除旧版jdk,解压自己打包安装包 yum remove *openjdk* rpm -qa | grep java tar -zxvf sjdkmvnjmeter.tar.gz -C / 打包 tar -czvf sjdkmvnjmeter.tar.gz /sw2、编辑环境变量 vi /etc/profile#set androidSdk envirment export PATH USER LOGNAME MAIL HOSTNAME HIS…