Linux系统 Docker Jenkins+Docker+Gitlab+Maven搭建持续集成环境

Jenkins+Docker+Gitlab+Maven搭建持续集成环境

Gitlab docker下载安装配置

一、安装配置docker服务

# yum -y install git docker 安装git docker 服务

# systemctl start docker   启动docker服务

# systemctl enable docker docker服务开机自动开启

# docker search gitlab            搜索gitlab容器镜像

# docker pull docker.io/gitlab/gitlab-ce             下载gitlab 容器镜像

# docker tag  docker.io/gitlab/gitlab-ce gitlab/gitlab-ce:v1   更改容器名称

# docker images       查看下载的容器镜像

# hostnamectl set-hostname gitlab.mengqi.com            设置主机名称

在linux下:

 #vim /etc/hosts

192.168.2.41 gitlab

 在windows下:

 #cd C:\Windows\System32\drivers\etc\hosts

192.168.2.41 gitlab

# mkdir -p /opt/gitlab/config /opt/gitlab/logs /opt/gitlab/data

# docker run -d --hostname ${HostName} -p 10443:443 -p 18080:80 -p 10022:22 --name gitlab --restart always --volume /opt/gitlab/config:/etc/gitlab --volume /opt/gitlab/logs:/var/log/gitlab --volume /opt/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce:v1     启动gitlab docker容器  

指定了三个端口,22表示ssh端口,80表示http端口,443表示https端口,分别映射到宿主机上的10022、18080和10443端口,我们还通过--volume指定目录映射,其中

/etc/gitlab表示gitlab的配置目录,映射到宿主机的/opt/gitlab/config目录.

/var/log/gitlab表示gitlab的日志目录,映射到宿主机的/opt/gitlab/logs目录.

/var/opt/gitlab表示gitlab的数据目录,映射到宿主机的/opt/gitlab/data目录.

页面访问的网址是http://gitlab.mengqi.com:18080 账户root密码admin1234

 Linux系统 Docker Jenkins+Docker+Gitlab+Maven搭建持续集成环境_第1张图片

 

 

 

接下来新建一个空的项目hello,其中hello为项目名称,可设置可见性级别:

Private表示私有项目,授予具体权限的用户才能访问.

Internal表示内部项目,可登陆的用户都能克隆项目.

Public表示公开项目,没有任何权限的用户都能克隆项目.

 Linux系统 Docker Jenkins+Docker+Gitlab+Maven搭建持续集成环境_第2张图片

 

 

 

 

接着我们需要做的就是将本地java代码推送至gitlab中.

 

Git global setup 设置全局git
git config --global user.name "Administrator"
git config --global user.email "[email protected]"
Create a new repository
git clone http://gitlab.mengqi.com/root/hello.git
cd hello
touch README.md
git add README.md
git commit -m "add README"
git push -u origin master
Existing folder
cd existing_folder
git init
git remote add origin http://gitlab.mengqi.com/root/hello.git
git add .
git commit -m "Initial commit"
git push -u origin master
Existing Git repository
cd existing_repo
git remote rename origin old-origin
git remote add origin http://gitlab.mengqi.com/root/hello.git
git push -u origin --all
git push -u origin --tags

 

#docker search Jenkins 查询jenkins docker容器

 Linux系统 Docker Jenkins+Docker+Gitlab+Maven搭建持续集成环境_第3张图片

 

 

 

# docker pull docker.io/jenkinsci/jenkins         下载jenkins

# docker tag docker.io/jenkinsci/jenkins jenkins/jenkins:v1修改镜像名称

 

Gitlab与Jenkins部署在同一台机器上

# mkdir /opt/Jenkins  jenkins配置文件目录

# docker run -d -p 28080:8080 -p 50000:50000 --name jenkins --link gitlab:${HostName} -u root -v /opt/jenkins:/var/jenkins_home jenkins/jenkins:v1

Jenkins部署单独部署

# docker run -d -p 28080:8080 -p 50000:50000 --name jenkins --hostname jenkins --restart always -u root -v /opt/jenkins:/var/jenkins_home jenkins/jenkins:v1

Jenkins地址http://192.168.2.41:28080/

 Linux系统 Docker Jenkins+Docker+Gitlab+Maven搭建持续集成环境_第4张图片

 

 

 

# docker exec ${docker_ID} cat /var/jenkins_home/secrets/initialAdminPassword 或者 # cat /opt/jenkins/secrets/initialAdminPassword

Linux系统 Docker Jenkins+Docker+Gitlab+Maven搭建持续集成环境_第5张图片

 

 

 

账号admin1 密码admin1234

 Linux系统 Docker Jenkins+Docker+Gitlab+Maven搭建持续集成环境_第6张图片

初始界面

 Linux系统 Docker Jenkins+Docker+Gitlab+Maven搭建持续集成环境_第7张图片

 Maven项目,系统管理-插件管理-可安装搜索Maven Integration  、Git Parameter 、 Gitlab Hook

通过配置令牌远程触发项目构建;要启用Token(令牌)远程触发项目构建首先要保证Jenkins服务安装了“Build Authorization Token Root “”插件,并且配置了Jenkins的身份验证。

 

 Linux系统 Docker Jenkins+Docker+Gitlab+Maven搭建持续集成环境_第8张图片 

安装maven插件

Linux系统 Docker Jenkins+Docker+Gitlab+Maven搭建持续集成环境_第9张图片

创建maven项目

 Linux系统 Docker Jenkins+Docker+Gitlab+Maven搭建持续集成环境_第10张图片

1.进入到项目构建

 Linux系统 Docker Jenkins+Docker+Gitlab+Maven搭建持续集成环境_第11张图片

2.添加jenkins秘钥连接

 Linux系统 Docker Jenkins+Docker+Gitlab+Maven搭建持续集成环境_第12张图片

上面填写的是gitlab的用户名密码验证,添加完后需要选中它

3.配置pom.xml文件 clean package -q -Dmaven.test.skip=true 

 Linux系统 Docker Jenkins+Docker+Gitlab+Maven搭建持续集成环境_第13张图片

 

 

 

构建目录 jar包 /opt/jenkins/workspace/${项目名称}/target

 

根据制作的dockerfile制作镜像例

# touch dockerfile

编辑dockerfile

# vim dockerfile

FROM docker/java:v1

MAINTAINER hetao

ADD ./eureka-1.0.1.jar /app/eureka-1.0.1.jar

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

EXPOSE 19000

 

# docker build -t ${DockerName} .

 

停止相关数据连接服务

gitlab-ctl stop unicorn

gitlab-ctl stop sidekiq

gitlab-ctl status

Gitlab的恢复操作会先将当前所有的数据清空,然后再根据备份数据进行恢复

chown git.root 1555264878_2019_04_15_11.4.5_gitlab_backup.tar

gitlab-rake gitlab:backup:restore BACKUP= 1555264878_2019_04_15_11.4.5

gitlab-ctl start

 

转载于:https://www.cnblogs.com/devops-docker/p/11507589.html

你可能感兴趣的:(Linux系统 Docker Jenkins+Docker+Gitlab+Maven搭建持续集成环境)