Gitlab CI/CD笔记

首次登录部署在docker上的gitlab,会让你设置密码。

登录时用户名为:root,密码就是刚刚设置的密码。

其他用户访问这个你部署的gitlab的网站时,可以注册,但登录后会显示如下,因为需要管理员通过注册

Your account is pending approval from your GitLab administrator and hence blocked. Please contact your GitLab administrator if you think this is an error.

git remote remove origin 

git remote add origin http://47.100.96.240:81/root/testproject.git

git push -u origin --all   push文件

gitlab部署后可能会发现克隆地址不能从外部访问

Gitlab修改项目克隆(Clone)地址 - 简书 (jianshu.com)

gitlab CI/CD

以gitlab runner作为运行环境,每个项目中的.gitlab-ci.yml文件确定运行时要做的事

安装gitlab runner

sudo 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 \
  gitlab/gitlab-runner:latest

gitlab runner注册(与gitlab联系,注意修改url、registration-token、tag-list)

   docker run --rm -v /srv/gitlab-runner/config:/etc/gitlab-runner gitlab/gitlab-runner register \
      --non-interactive \
      --executor "docker" \
      --docker-image alpine:latest \
      --url "http://gitlab的地址" \
      --registration-token "输入token" \
      --description "first-register-runner" \
      --tag-list "test-cicd1,dockercicd1" \
      --run-untagged="true" \
      --locked="false" \
      --access-level="not_protected"

关于拉取仓库时默认地址错误的解决办法:设置-》可见性与访问控制

部署前段项目的流水线(docker)

1、注册一个单独的runner

2、在.yml文件中每个job分支下编写 指定runner

 tags:
       - runner的tag名称

3、.yml文件示例:

image: node:alpine

stages:
 - install
 - lint-code
 - build
 - deploy
 
cache:
	key: 项目名称
	paths:
	  - node_modules  (项目路径)
	  
job_install:
	stage: install
	tags:
		- runner的tag
	script:
		- npm install

job_build:
	stage: build
	tags:
		- runner的tag
	script:
		- npm run install
		
job_deploy:
	stage: deploy
	image: docker      (使用docker作为基础环境)
	tags:
		- runner的tag
	script:
		- docker build -t xximages .  (xximages为项目的镜像名称,自定义)
        - if [ $(docker ps -aq --filter name=xxcontainer) ]; then docker rm -f xxcontainer;fi
        - docker run -d -p 8082:80 --name xxcontainer xximages   (容器80端口映射到docker所在服务器的8082)
	when: manual

4、编写dockerfile文件

   FROM node:latest as builder     (使用node下载依赖包)
    WORKDIR /app
    COPY package.json .
    RUN npm install --registry=http://registry.npm.taobao.org          (下载依赖包,淘宝的镜像无需改动)
    COPY . .
    RUN npm run build              (下载完执行build)
    
    
    FROM nginx:latest
    COPY --from=builder /app/dist /usr/share/nginx/html			(build完成之后吧dist目录放到nginx的html目录)

5、在容器内使用docker需要配置目录卷 (docker in docker)

cd /srv/gitlab-runner/config/     (runner的配置目录)
ll			(查看配置文件的文件名)
vim config.toml   	(修改配置文件)
找到对应的runner,修改volumes:
添加: "/usr/bin/docker:/usr/bin/docker","/var/run/docker.sock:/var/run/docker.sock"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值