gitLab、maven私服搭建
一、docker安装
1.docker需要Centos内核版本在3.10以上
uname -r 查看
yum -y update 使用root权限将centos更新到最新(更新非常慢,不建议)。
2.卸载掉旧版本的docker
yum remove docker docker-common docker-selinux docker-engine
3.安装必要软件包(utils提供了config-manager功能和devicemapper的驱动)
yum install -y yum-utils device-mapper-persistent-data lvm2
4.yum源设置
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
5.查看docker中所有版本
yum list docker-ce --showduplicates | sort -r
6.安装
yum install -y docker-ce (比较慢)
7.开机启动
systemctl start docker
systemctl enable docker
8.查看版本
docker version
9.docker 相关命令
搜索:docker search eg: docker search java (docker官方存放镜像软件地方Docker Hub https://hub.docker.com/search?q=java&type=image)
下载镜像:docker pull java:8 (冒号后为版本) 从Docker Registry上下载镜像,若不知道版本则下载最新。
列出已下载镜像:docker images
删除镜像:docker rmi 镜像id
阿里云镜像加速:https://cr.console.aliyun.com/cn-hangzhou/mirrors
启动容器:docker run -d -p 81:80 nginx 其中 -d 后台运行 -p宿主机端口:docker容器里端口
docker run 先检查本地是否有镜像若没有则自动到Hub上下载
列出运行中的容器:docker ps
查看执行容器信息:docker inspect 容器id
创建自定义容器(微服务)预计在2019年5与7日更新
一、gitlab
建议虚拟机在2G以上
1.下载docker镜像 docker pull beginor/gitlab-ce:11.0.1-ce.0
2.分别创建 配置(etc)、日志(log)、数据(data)目录
mkdir -p /mnt/gitlab/etc
mkdir -p /mnt/gitlab/log
mkdir -p /mnt/gitlab/data
3.运行容器
docker run \
--detach \
--publish 8443:443 \
--publish 8090:80 \
--name gitlab \
--restart unless-stopped \
-v /mnt/gitlab/etc:/etc/gitlab \
-v /mnt/gitlab/log:/var/log/gitlab \
-v /mnt/gitlab/data:/var/opt/gitlab \
beginor/gitlab-ce:11.0.1-ce.0
其他命令:docker stop 容器id docker rm 容器id systemctl stop firewalld(关闭防火墙)
4.将external_url改成域名或者ip
vim /mnt/gitlab/etc/gitlab.rb 中 external_url 'http://10.10.10.103'
修改Web server settings
vim /mnt/gitlab/data/gitlab-rails/etc/gitlab.yml

修改完后再 docker stop gitlab docker rm gitlab
在重新执行
docker run \
--detach \
--publish 8443:443 \
--publish 8090:80 \
--name gitlab \
--restart unless-stopped \
-v /mnt/gitlab/etc:/etc/gitlab \
-v /mnt/gitlab/log:/var/log/gitlab \
-v /mnt/gitlab/data:/var/opt/gitlab \
beginor/gitlab-ce:11.0.1-ce.0
systemctl restart docker
二、Jenkins搭建
mkdir -p /var/jenkins_node
chmod 777 /var/jenkins_node
docker run -d --name myjenkins -p 8080:8080 -p 50000:50000 -v /var/jenkins_node :/var/jenkins_home jenkins
docker run -p 8080:8080 -p 50000:50000 -v jenkins_data:/var/jenkins_home jenkinsci/blueocean (直接使用这个,可以加上 -d 参数)
若报以下错误,重启docker即可 systemctl restart docker

通过 ip+端口访问

进入容器 docker exec -it 容器ID /bin/bash

访问

2.配置Jenkins中的jdk和maven环境
点击左侧系统管理->全局工具配置

查询JAVA_HOME
3.安装maven

3.安装maven插件
系统管理->插件管理 安装 Maven Integration


创建maven项目


上面是 clean install 在后面可以 添加 跳过 单元测试。

进入docker容器中可以访问

外部此时无法访问,exit推出容器,停止容器,加入8100端口

systemctl restart docker
docker rm $(sudo docker ps -a -q)
docker run -p 8080:8080 -p 8100:8100 -p 50000:50000 -v jenkins_data:/var/jenkins_home jenkinsci/blueocean
登录Jenkins在发次版本即可

以上方式Jenkins中 java -jar采用的是前台启动方式,
#!/bin/bash
#服务名称
SERVER_NAME=docker_test
#源jar路径,mvn打包完成之后,target目录下的jar名称,也可以是选择成war包,war包可移动到Tomcat的路径下
JAR_NAME=read_write-0.0.1-SNAPSHOT
#源jar路径
#/usr/local/jenkins_home/workspace->jenkins工作目录
#demo项目目录
#target打包生成jar包的目录
JAR_PATH=/var/jenkins_home/workspace/docker_test/target
#打包完成之后,把jar包移动到运行jar包的目录->work_daemo,work_daemo目录需要提前创建
JAR_WORK_PATH=/var/jenkins_home/workspace/docker_test/target
echo "查询进程id-->$SERVER_NAME"
PID=`ps -ef | grep "$SERVER_NAME" | awk '{print $2}'`
echo "得到进程ID: $PID"
echo "结束进程"
for id in $PID
do
kill -9 $id
echo "killed $id"
done
echo "进程结束完成"
#复制jar包到执行目录
echo "复制jar包到执行目录:cp $JAR_PATH/$JAR_NAME.jar $JAR_WORK_PATH"
cp $JAR_PATH/$JAR_NAME.jar $JAR_WORK_PATH
echo "复制jar完成"
cd $JAR_WORK_PATH
#修改文件权限
chmod 755 $JAR_NAME.jar
#java -jar $JAR_NAME.jar
BUILD_ID=dontKillMe nohup java -jar $JAR_NAME.jar &

浙公网安备 33010602011771号