当前位置:   article > 正文

Gitlab-CICD Demo测试_gitlib demo

gitlib demo

Gitlab-CICD Demo测试

1.部署前规划

harbor 10.8.0.30

gitlab 10.8.0.30

gitlab-runner 172.16.13.19

master  172.16.13.18
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

2.gitlab所需文件准备

.gitlab-ci.yml

stages:
  - build
  - deploy

build:
  stage: build
  script:
    - chmod a+x build-push.sh 
    - sh build-push.sh
deploy:
  image: roffe/kubectl
  stage: deploy
  script:
    - chmod a+x deploy.sh
    - sh deploy.sh
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

Dockerfile

FROM nginx:latest
RUN echo "v1" > /usr/share/nginx/html/index.html
CMD  ["nginx","-g","daemon off;"]
  • 1
  • 2
  • 3

build-push.sh

#!/bin/bash

docker login 10.8.0.30 -u admin -p Harbor12345
docker build -t nginx:v1 .
docker tag nginx:v1 10.8.0.30/k8s/nginx:v1
docker push 10.8.0.30/k8s/nginx:v1
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

deploy.sh

#!/bin/bash

kubectl apply -f tmp_deploy/$f --insecure-skip-tls-verify=true --server=172.16.13.18:6443 --token=xxxx
  • 1
  • 2
  • 3

3.gitlab-runner配置文件修改和k8s-master权限授予

#gitlab-runner主机修改

vim /etc/gitlab-runner/config.toml

 volumes =  ["/cache", "/tmp/builds:/tmp/builds", "/var/run/docker.sock:/var/run/docker.sock", "/root/.docker/:/root/.docker/"]

#k8s集群master设置

kubectl create clusterrolebinding serviceaccounts-cluster-admin   --clusterrole=cluster-admin   --group=system:serviceaccounts
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

4.gitlab-ci/cd工作流程

1.代码持续集成到gitlab

2.触发流水线自动部署,根据.gitlab-ci.yml定义内容工作

3.gitlab-runner接收到任务进行一系列工作

4.流程 代码集成---触发gitlab-ci/cd---gitlab-runner接收任务并工作---镜像编译---推送镜像至harbor---k8s替换镜像版本完成更新
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/天景科技苑/article/detail/750316
推荐阅读
相关标签
  

闽ICP备14008679号