使用gitlab构建基于docker的持续集成(二)

gitlab
docker
aspnetcore

Centos配置gitlab镜像并且启动

在本机上创建目录结构,然后上传到虚拟机去运行,使用的软件为Xshell,Xftp,记得把CA证书带上。

目录结构:

gitlab
config
ssl
gitlab.luna.cn.crt
gitlab.luna.cn.key
logs
docker-compose.yml

docker-compose.yml文件,要说明的是这里的环境变量配置,是可以使用gitlab配置文件中的配置的,不过后续使用配置文件也可以。

version: '3'
services:
gitlab:
image: 'twang2218/gitlab-ce-zh:10.6.2'
restart: unless-stopped
hostname: 'gitlab.luna.cn'
container_name: gitlab1062
environment:
TZ: 'Asia/Shanghai'
GITLAB_OMNIBUS_CONFIG: |
external_url 'http://gitlab.luna.cn/'
registry_external_url 'https://gitlab.luna.cn'
gitlab_rails['time_zone'] = 'Asia/Shanghai'
# gitlab_rails['smtp_enable'] = true
# gitlab_rails['smtp_address'] = "smtp.exmail.qq.com"
# gitlab_rails['smtp_port'] = 465
# gitlab_rails['smtp_user_name'] = "xxxx@xx.com"
# gitlab_rails['smtp_password'] = "password"
# gitlab_rails['smtp_authentication'] = "login"
# gitlab_rails['smtp_enable_starttls_auto'] = true
# gitlab_rails['smtp_tls'] = true
# gitlab_rails['gitlab_email_from'] = 'xxxx@xx.com'
ports:
- '80:80'
- '443:443'
- '1022:22'
volumes:
- ./data:/var/opt/gitlab
- ./config:/etc/gitlab
- ./logs:/var/log/gitlab

上传到/root文件夹下

 

Xshell中运行docker-compose up,等待....

Centos配置防火墙

我列出配置需要用到的命令,主要打开http,https,docker-registry这几个服务和1022端口。

1022端口是为了ssh使用的。

firewall-cmd --list-ports #查看打开的端口
firewall-cmd --list-services #查看打开的服务
firewall-cmd --get-services #查看可以打开的服务 firewall-cmd --add-service=xxx --permanent #添加服务
firewall-cmd --add-port=xx/tcp --permanent #添加端口 firewall-cmd --reload #打开操作之后要重载

windows上访问gitlab

域名为: gitlab.luna.cn 能访问,说明一切正常。

然后需要做的是:

1.需要创建一个管理员密码

2.管理员账号为root,用设置的密码登录。

3.如果第一次使用gitlab,你可以看看每个菜单,如果没有兴趣,就可以关闭了。

Centos上配置gitlab-runner

gitlab-runner是一个很大的坑,我不知道我能不能说的清楚,不对的地方,希望大家指正。

安装官方的说法,runner需要先注册,从而让gitlab认识这个runner,从而触发runner运行job。

这里我使用的是runner的docker镜像。

1.首先创建一个文件夹用来放runner的配置文件,这里是/root/gitlab-runner。

2.然后是启动runner镜像,执行注册。注册的参数除了第一个和第二个参数之外,其他参数都可以后面配置,不用太纠结。

  #运行镜像
docker run -d --name gitlab-runner-bate --restart always \
-v /var/run/docker.sock:/var/run/docker.sock \#这个配置可以让runner联通本机docker
-v /root/gitlab-runner/config:/etc/gitlab-runner \
gitlab/gitlab-runner:latest #执行注册
docker exec -it gitlab-runner-bate gitlab-runner register

3.注册之后,目录结构应该是这样的,然后配置文件应该是这样的。

gitlab-runner
config
config.toml
docker-compose.yml

config.toml

concurrent = 1
check_interval = 0 [[runners]]
name = "test"
url = "http://gitlab.luna.cn/"
token = "040a9c35d32e1c9a912c006c8a10a6"
executor = "docker"
[runners.docker]
tls_verify = false
image = "docker:stable"
privileged = false
disable_cache = false
volumes = ["/var/run/docker.sock:/var/run/docker.sock", "/cache"]
shm_size = 0
[runners.cache]

4.runner是否配置成功,可以用管理员登录gitlab去查看,成功的话,是可以看到的。

5.然后创建一个docker-compose来启动,就不用敲那么长docker run命令了。

docker-compose.yml

version: '3'
services:
runner:
image: 'gitlab/gitlab-runner:latest'
container_name: gitlab-runner
restart: always
volumes:
- ./config:/etc/gitlab-runner
- /var/run/docker.sock:/var/run/docker.sock

最后贴几个官方文档给大家参考,也给自己做下备忘。

gitlab-runner的配置

在容器中运行GitLab Runner

使用gitlab构建基于docker的持续集成(二)的更多相关文章

  1. 使用gitlab构建基于docker的持续集成(三)

    使用gitlab构建基于docker的持续集成(三) gitlab docker aspnetcore 持续集成 构建发布思路: aspnetcore 下的dockerfile编写 发布docker- ...

  2. 使用gitlab构建基于docker的持续集成(一)

    使用gitlab构建基于docker的持续集成(一) gitlab docker aspnetcore 持续集成 开篇 整体环境规划 准备工作 CA证书 虚拟机系统:安装Centos7.3 3.设置C ...

  3. 【持续集成】GitLab CI + Docker 实现持续集成

    GitLab CI + Docker 实现持续集成 一.持续集成(Continuous Integration, CI)的基本概念 概述 在传统软件的开发中,代码的集成工作通常是在所有人都将工作完成后 ...

  4. Docker+Jenkins持续集成环境(5): android构建与apk发布

    项目组除了常规的java项目,还有不少android项目,如何使用jenkins来实现自动构建呢?本文会介绍安卓项目通过jenkins构建的方法,并设计开发一个类似蒲公英的app托管平台. andro ...

  5. 学习笔记——Maven实战(四)基于Maven的持续集成实践

    Martin的<持续集成> 相信很多读者和我一样,最早接触到持续集成的概念是来自Martin的著名文章<持续集成>,该文最早发布于2000年9月,之后在2006年进行了一次修订 ...

  6. Docker+Jenkins持续集成环境(4):使用etcd+confd实现容器服务注册与发现

    前面我们已经通过jenkins+docker搭建了基本的持续集成环境,实现了服务的自动构建和部署,但是,我们遇到一个问题,jenkins构建出来的镜像部署后,需要通过ip:port去访问,有什么更好的 ...

  7. 持续集成之Jenkins+Gitlab实现持续集成 [二]

    持续集成之Jenkins+Gitlab实现持续集成 [二] 项目:使用git+jenkins实现持续集成 开始构建  General  源码管理 我们安装的是Git插件,还可以安装svn插件  我们将 ...

  8. Maven实战(四)——基于Maven的持续集成实践

    Martin的<持续集成> 相信非常多读者和我一样.最早接触到持续集成的概念是来自Martin的著名文章<持续集成>.该文最早公布于2000年9月,之后在2006年进行了一次修 ...

  9. Docker+Jenkins持续集成

    Docker+Jenkins持续集成 使用etcd+confd实现容器服务注册与发现   前面我们已经通过jenkins+docker搭建了基本的持续集成环境,实现了服务的自动构建和部署,但是,我们遇 ...

随机推荐

  1. 《Proxy系列专题》:代理模式(静态、JDK、CGLib)

    <Proxy系列专题>:代理模式(静态.JDK.CGLib)使用 现象:在如今互联网时代,项目的复杂度不断的提升,有些场景下需要一定的设计优化来支撑业务的扩展,如为了不改动原始类,但需要对 ...

  2. C++ Socket 入门

    Socket 入门 前置知识 :计算机网络基础(TCP/IP四层模型) Socket 原意是"插座",在计算机通信领域被翻译为"套接字",以\(\{IP:Por ...

  3. 牛客小白月赛30 B.最好的宝石 (线段树)

    题意:RT. 题解:很明显的线段树维护区间最大值操作,但是我们同时还要维护最大值的个数,我们在build或者modify操作完子树然后push_up的时候,我们先从两个儿子取max更新父节点的最大值, ...

  4. Codeforces Round #687 (Div. 2, based on Technocup 2021 Elimination Round 2) C. Bouncing Ball (后缀和,枚举)

    题意:有一长度为\(n\)的平台,平台有的位置有木桩,可以使小球弹起来,小球必须从第\(p\)个位置开始,而且每次都会向右弹\(k\)个单位,然后有的位置是没有木桩的,你可以在这些的空的位置放一个木桩 ...

  5. Codeforces Round #649 (Div. 2) C、Ehab and Prefix MEXs D、Ehab's Last Corollary 找环和点染色

    题目链接:C.Ehab and Prefix MEXs 题意; 有长度为n的数组a(下标从1开始),要求构造一个相同长度的数组b,使得b1,b2,....bi集合中没有出现过的最小的数是ai. mex ...

  6. WPF 中的逻辑树(Logical Tree)与可视化元素树(Visual Tree)

    一.前言 ​ WPF 中有两种"树":逻辑树(Logical Tree)和可视化元素树(Visual Tree). Logical Tree 最显著的特点就是它完全由布局组件和控件 ...

  7. Dapr 已在塔架就位 将发射新一代微服务

    微服务是云原生架构的核心,通常使用Kubernetes 来按需管理服务扩展. 微软一直走在 Cloud Native Computing Foundation的 最前沿,并通过使用Kubernetes ...

  8. Python 分析热卖年货,今年春节大家都在送啥?

    今年不知道有多少小伙伴留在原地过年,虽然今年过年不能回老家,但这个年也得过,也得买年货,给家人长辈送礼.于是我出于好奇心的想法利用爬虫获取某宝数据,并结合 Python 数据分析和第三方可视化平台来分 ...

  9. httprunner(9)运行测试用例的方式总结

    前言 用过pytest的小伙伴都知道,pytest的运行方式是非常丰富的,可以说是你想怎么运行怎么运行,想运行哪些运行哪些,那httprunner是否同样可以呢? 运行用例的各种方式 运行指定路径的用 ...

  10. ES6 arrow function vs ES5 function

    ES6 arrow function vs ES5 function ES6 arrow function 与 ES5 function 区别 this refs xgqfrms 2012-2020 ...