docker+gitlab+rancher+harbor部署

Gitlab harbor rancher
1 确保yum 包更新到最新

yum -y update

1.1 docker下载源

vim /etc/docker/daemon.json

#添加内容

{"registry-mirrors": ["https://lxrl4ihr.mirror.aliyuncs.com"]
}

2 安装docker

sudo yum install -y docker-ce
systemctl start docker
systemctl enable docker

3 安装docker-compose

curl -L https://github.com/docker/compose/releases/download/1.25.4/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose   

//下载二进制文件

chmod +x  /workspace/harbor/bin/docker-compose    

//赋予二进制文件可执行权限

chmod +x /usr/local/bin/docker-compose

//查看版本信息

docker-compose --version  

4 安装Gitlab-server
//镜像拉取gitlab

docker pull gitlab/gitlab-ce
docker run -d  -p 8443:443 -p 8001:80 -p 8222:22 --name gitlab --restart always --privileged=true -v /home/gitlab/config:/etc/gitlab -v /home/gitlab/logs:/var/log/gitlab -v /home/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce  

//运行容器
问题一:
如果80端口冲突:

docker run -d  -p 8443:443 -p 8001:8001 -p 8222:22 --name gitlab --restart always --privileged=true -v /home/gitlab/config:/etc/gitlab -v /home/gitlab/logs:/var/log/gitlab -v /home/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce  

//运行容器
//修改clone地址:

Vim /home/gitlab/config/gitlab.rb

//增加

external_url 'http://192.168.1.132:8001'

//重启gitlab

docker restart gitlab

5 安装Gitlab-runner
//挂载宿主机docker命令及maven(可以runner容器安装maven) 这边是挂载宿主机的mvn

docker run -d --name gitlab-runner --restart always -v /srv/gitlab-runner/config:/etc/gitlab-runner -v /var/run/docker.sock:/var/run/docker.sock -v /usr/bin/docker:/usr/bin/docker  -v /usr/mydata/apache-maven-3.6.3/:/mydata/apache-maven-3.6.3/ gitlab/gitlab-runner:latest

5.1宿主机安装maven及jdk
安装jdk

yum install -y java-1.8.0-openjdk.x86_64

//安装路径

//检验版本

java -version

安装maven
官网下载apache-maven-3.6.3-bin.tar.gz
//解压

tar zxf apache-maven-3.6.3-bin.tar.gz

//配置宿主机文件

Vim /etc/profile
export JAVA_HOME=/usr/lib/jvm/jre-1.8.0-openjdk-1.8.0.262.b10-0.el7_8.x86_64 //宿主机jdk路径
export PATH=/usr/mydata/apache-maven-3.6.3/bin:$PATH  //宿主机mavn路径

//重新执行刚修改的初始化文件,使之立即生效
source /etc/profile
//测试是否成功
mvn-v
5.2 runner容器安装jdk及配置mvn

  apt-get install -y openjdk-8-jdk

//配置runner容器/etc/profile添加
进入runner容器

  Docker exec -it gitlab-runner /bin/bash

//编写profile

Vim /etc/profile
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64 //runner容器java路径
export PATH=/mydata/apache-maven-3.6.3/bin:$PATH   //runner容器maven路径

//重新执行刚修改的初始化文件,使之立即生效

source /etc/profile

//测试是否成功

java -version

5.3 将dockerfile文件拷贝到runner容器中

docker cp /usr/mydata/dockerfiles/mall/dockerfile_server gitlab-runner:/mydata/dockerfiles/mall/

问题一:
如果出现问题 permission denied

cd /var/run 
chmod 777 docker.sock

5.4 runner注册
//进入runner容器

Docker exec -it gitlab-runner /bin/bash

//执行注册
Gitlab-runner register

6 安装Harbor
Harbor安装
离线安装方法
下载软件包上传至服务器:harbor-offline-installer-v1.10.2.tgz

tar zxf harbor-offline-installer-v1.10.2.tgz    //解压安装包
vim harbor.yml //修改配置文件
hostname: *   //改为访问IP或者域名
harbor_admin_password: * //设置网页登录admin密码
注释掉https
http port:80 //默认80 可自行更改
./install.sh  //运行安装程序
systemctl daemon-reload
systemctl restart docker

// harbor重启
docker-compose restart
问题一:
出现docker login 报【Error response from daemon: Get https://172.17.8.201:8002/v2/: http: server gave HTTP response to HTTPS client】
//修改文件

/etc/docker/daemon.json

//添加

{"registry-mirrors":["https://almtd3fa.mirror.aliyuncs.com"],"insecure-registries":["192.168.1.132:8090"]}

重启docker
7 安装Rancher

docker pull rancher/server
docker run -d --restart=unless-stopped -p 8080:8080 rancher/server    //运行容器
docker run --name rancher -d -p 8080:8080 rancher/server

添加主机

添加服务

镜像地址带harbor的tags

// gitlab-ci.yml的编写

Dockerfile文件

# 该镜像需要依赖的基础镜像
FROM java:8
ENV TZ Asia/Shanghai
COPY . /home
WORKDIR /home/mall-registry
CMD java -Dlog4j.configurationFile=log4j2-prod.xml -jar /home/mall-registry/target/mall-registry-0.0.1-SNAPSHOT.jar

.gitlab-ci.yml

stages:- build_service_master
job0:stage: build_service_master
#  script:
#    - echo "mvm clean"
#    - echo "mvm install "script:- mvn clean package -f ./ci_registry_pom.xml
#    - mvn clean package- docker login -u admin -p admin123456 192.168.1.132:8090- docker build -t 192.168.1.132:8090/grang/mall-registry:0.0.1-SNAPSHOT ./ -f /mydata/dockerfiles/mall/dockerfile_server- docker push 192.168.1.132:8090/grang/mall-registry:0.0.1-SNAPSHOT- docker rmi 192.168.1.132:8090/grang/mall-registry:0.0.1-SNAPSHOT- "curl -X POST -H 'Accept: application/json' -H 'Content-Type: application/json' -d '{\"push_data\": {\"tag\": \"0.0.1-SNAPSHOT\"},\"repository\": {\"repo_name\": \"192.168.1.132:8090/grang/mall-registry\"}}' 'http://192.168.1.132:8080/v1-webhooks/endpoint?key=qdQdS0GGUEKqfXXxz5igxtWX2jkIy6XRGC9qEY3v&projectId=1a25'"only:- mastertags:
- build

ci_registry_pom.xml


org.springframework.bootspring-boot-starter-parent2.1.7.RELEASE ci-mall-registry-service0.0.1-SNAPSHOT4.0.0pom${project.artifactId}mall-registry


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部