首次登录部署在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"