一起学CICD 01.安装gitlab

Gitlab

安装

环境

192.168.48.52  gitlab

准备

yum install -y curl policycoreutils-python openssh-server

yum install postfix
systemctl enable postfix
systemctl start postfix

yum源

vim /etc/yum.repos.d/gitlab-ce.repo

[gitlab-ce]
name=Gitlab CE Repository
baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/
gpgcheck=0
enabled=1

安装

yum makecache
yum install gitlab-ce
yum install git

查看版本号

[root@gitlab ~]# cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
12.1.4

编辑配置文件

设置访问ip

[root@gitlab ~]# vim /etc/gitlab/gitlab.rb
...
external_url 'http://192.168.48.52'

设置邮件

[root@gitlab ~]# vim /etc/gitlab/gitlab.rb
...

gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.exmail.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "tangwei@tk8s.com"
gitlab_rails['smtp_password'] = "邮箱密码"
gitlab_rails['smtp_domain'] = "tk8s.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_tls'] = true
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['gitlab_email_from'] = "tangwei@tk8s.com"
user['git_user_email'] = "tangwei@tk8s.com"
gitlab_rails['gitlab_email_reply_to'] = 'tangwei@tk8s.com'

加载配置文件

[root@gitlab ~]# gitlab-ctl reconfigure

重启gitlab

[root@gitlab ~]# gitlab-ctl restart
ok: run: alertmanager: (pid 14472) 1s
ok: run: gitaly: (pid 14483) 1s
ok: run: gitlab-monitor: (pid 14504) 0s
ok: run: gitlab-workhorse: (pid 14517) 1s
ok: run: logrotate: (pid 14531) 0s
ok: run: nginx: (pid 14538) 0s
ok: run: node-exporter: (pid 14620) 1s
ok: run: postgres-exporter: (pid 14626) 0s
ok: run: postgresql: (pid 14635) 1s
ok: run: prometheus: (pid 14644) 0s
ok: run: redis: (pid 14654) 1s
ok: run: redis-exporter: (pid 14658) 0s
ok: run: sidekiq: (pid 14665) 0s
ok: run: unicorn: (pid 14678) 0s


测试邮箱

[root@gitlab ~]# gitlab-rails console
irb(main):016:0>  Notify.test_email('1247549534@qq.com', 'test', 'test').deliver_now
Notify#test_email: processed outbound mail in 194.3ms
Sent mail to 1247549534@qq.com (2424.0ms)
Date: Tue, 07 May 2019 21:52:56 +0800
From: GitLab <tangwei@tk8s.com>
Reply-To: GitLab <noreply@192.168.48.52>
To: 1247549534@qq.com
Message-ID: <5cd18db86dffb_38183fc6042d65f42823e@gitlab.mail>
Subject: test
Mime-Version: 1.0
Content-Type: text/html;
 charset=UTF-8
Content-Transfer-Encoding: 7bit
Auto-Submitted: auto-generated
X-Auto-Response-Suppress: All

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html><body><p>test</p></body></html>

=> #<Mail::Message:70119381048200, Multipart: false, Headers: <Date: Tue, 07 May 2019 21:52:56 +0800>, <From: GitLab <tangwei@tk8s.com>>, <Reply-To: GitLab <noreply@192.168.48.52>>, <To: 1247549534@qq.com>, <Message-ID: <5cd18db86dffb_38183fc6042d65f42823e@gitlab.mail>>, <Subject: test>, <Mime-Version: 1.0>, <Content-Type: text/html; charset=UTF-8>, <Content-Transfer-Encoding: 7bit>, <Auto-Submitted: auto-generated>, <X-Auto-Response-Suppress: All>>


1

访问gitlab,设置root密码

2

root登录

在这里插入图片描述

### 如何在 Docker 中安装配置 GitLabGitLab Runner 实现 CI/CD 流水线 #### 使用 Docker 安装 GitLab 为了实现 CI/CD 流水线,首先需要通过 Docker 来部署 GitLab 版本 `16.2.3-jh`。这可以通过拉取官方镜像并启动容器完成。 ```bash docker pull gitlab/gitlab-ce:16.2.3-jh docker run --detach \ --hostname gitlab.example.com \ --publish 443:443 --publish 80:80 --publish 22:22 \ --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:16.2.3-jh ``` 上述命令会创建一个新的 GitLab 实例,并将其绑定到主机上的端口 80, 443 和 22[^1]。 #### 配置 GitLab Runner 一旦 GitLab 成功运行,在同一台机器或其他服务器上可以继续安装 GitLab Runner 版本 `16.2.0` 并连接至已有的 GitLab 实例。此过程涉及下载合适的二进制文件以及注册该服务: ```bash curl -L "https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.deb.sh" | sudo bash sudo apt-get install gitlab-runner ``` 接着利用之前获取的 URL 和令牌来注册新的 Runner: ```bash sudo gitlab-runner register --url http://<your_gitlab_url> --registration-token <your_registration_token> ``` 这里 `<your_gitlab_url>` 应替换为实际地址而 `<your_registration_token>` 则由 GitLab 提供[^4]。 #### 设置 CI/CD Pipeline 当 GitLabGitLab Runner 均准备就绪之后,可以在项目仓库内定义 `.gitlab-ci.yml` 文件以描述具体的构建流程。例如下面展示了一个简单的 Python Web 应用程序持续集成脚本片段: ```yaml stages: - test - python manage.py test build_image: stage: build script: - docker build -t myapp:$CI_COMMIT_REF_NAME . deploy_to_production: only: - echo Deploying application... ``` 这段 YAML 描述了三个阶段的任务——测试、构建和部署,并指定了每个任务的具体操作[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值