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 &

 

      

 

posted @ 2019-05-06 00:03  东隅已逝x  Views(923)  Comments(1)    收藏  举报