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.boot spring-boot-starter-parent 2.1.7.RELEASE ci-mall-registry-service 0.0.1-SNAPSHOT 4.0.0 pom ${project.artifactId} mall-registry
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
