Gitlab
GitLab是由GitLabInc.开发,使用MIT许可证的基于网络的Git仓库管理工具,且具有wiki和issue跟踪功能。使用Git作为代码管理工具,并在此基础上搭建起来的web服务。
- 免费、开源
- 功能强大
- 分布式
- Git flow
- GitLab CI
基础docker 安装的地址:https://docs.gitlab.com/omnibus/docker/
- 拉取镜像
# docker pull gitlab/gitlab-ce:latest
# 官方版本是:gitlab/gitlab-ce:latest,为了提升速度我们这里使用阿里云的仓库
docker pull registry.cn-hangzhou.aliyuncs.com/imooc/gitlab-ce:latest
docker tag registry.cn-hangzhou.aliyuncs.com/imooc/gitlab-ce gitlab/gitlab-ce -
运行GitLab容器
sudo docker run --detach \
--hostname gitlab.example.com \
--env GITLAB_OMNIBUS_CONFIG="external_url 'http://my.domain.com/'; gitlab_rails['lfs_enabled'] = true;" \
--publish : --publish : --publish : \
--name gitlab \
--restart always \
--volume /srv/gitlab/config:/etc/gitlab \
--volume /srv/gitlab/logs:/var/log/gitlab \
--volume /srv/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce:latest -
查看安装日志
docker logs --follow gitlab
- 修改配置
vim /srv/gitlab/config/gitlab.rb external_url 'http://47.111.84.191/' service docker restart
设置密码
安装完成后登录80端口访问,进行设置登录密码,我这里设置 root Root123456 ,然后进行登录即可
GitLab Runner注册和安装
安装
- 在系统中的某个位置创建一个文件夹,例如: C:\GitLab-Runner 。
- 下载x86或amd64的二进制文件并将其放入您创建的文件夹中。将二进制文件重命名为 gitlab-runner.exe 。您可以按Bleeding Edge中的描述为每个可用版本下载二进制文件 - 下载任何其他标记版本。
- 运行提升的命令提示符:
- 按Windows键或单击开始按钮。
- 类型
PowerShell
。 - 单击鼠标右键
Windows PowerShell
,然后选择Run as administrator
。 - 注册GitLab Runner
获取Token:# https://docs.gitlab.com/runner/register/index.html
# -运行以下命令
gitlab-runner.exe register # -输入您的GitLab实例URL
http://47.111.84.191/ # -输入您获得的Token
# 在项目的 Settings->Pipelines中可以找到
JGGzoYj_uQoxQVGjWnKn # -输入Runner的描述,您可以稍后在GitLab的UI中更改
local-win # -输入与Runner关联的tags,您可以稍后在GitLab的UI中更改,可以不输入 # -输入Runner执行程序:
shell - 添加用户
-
SSH 连接GitLab
官方文档:https://docs.gitlab.com/ee/ssh/README.html#generating-a-new-ssh-key-pair如果 C:\Users\Administrator\.ssh 目录下有则可以使用已经存在的SSH key。
生成SSHssh-keygen -o -t rsa -b -C "786744873@qq.com"
-
SSH 连接 22 端口
正常情况下你已经可以通过git命令来连接我们部署的gitlab,但这里不一样的是我们把容器的 22端口映射到了 host的 23上,我们需要指定端口来进连接。ssh -p git@47.111.84.191
C:\Users\Administrator\.ssh>ssh -p git@47.111.84.191
The authenticity of host '[47.111.84.191]:23 ([47.111.84.191]:23)' can't be established.
ECDSA key fingerprint is SHA256:DAQttfMOxIIiNqgt/QIvL6tv1pwgPax/fsnBprwZhN0.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '[47.111.84.191]:23' (ECDSA) to the list of known hosts.
Enter passphrase for key 'C:\Users\Administrator/.ssh/id_rsa':
PTY allocation request failed on channel
Welcome to GitLab, wyt!
Connection to 47.111.84.191 closed.
Gitlab-CI Build Docker-compose自动发布
- 创建项目 beta2
-
添加项目初始化
# Git global setup
git config --global user.name "wyt"
git config --global user.email "786744873@qq.com" # Create a new repository
git clone git@47.111.84.191:wyt/beta2.git
cd beta2
touch README.md
git add README.md
git commit -m "add README"
git push -u origin master # Existing folder
# cd existing_folder
git init
git remote add origin git@47.111.84.191:wyt/beta2.git
git add .
git commit -m "Initial commit"
git push -u origin master # Existing Git repository
cd existing_repo
git remote rename origin old-origin
git remote add origin git@47.111.84.191:wyt/beta2.git
git push -u origin --all
git push -u origin --tags - 然后我们就可以看到我们的项目文件了
-
编辑.gitlab-ci.yml 执行任务
我们只需要在根目录添加 .gitlab-ci.yml 输入两行命令即可。rtest:
script:
- cd User.API
- docker-compose up -d --build --force-recreate