欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Docker快速部署gitlab+gitlab-runner實例

 更新時間:2024年06月04日 11:19:55   作者:新時代的老古董  
這篇文章主要介紹了Docker快速部署gitlab+gitlab-runner實例,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

一、概述

為了方便做一些的測試,我一般不會選擇直接在服務器上部署gitlab,那太浪費資源了。

一般直接用docker起gitlab,這樣即快速便捷,又節(jié)約資源。

二、安裝docker

安裝docker 的方法很多,這里我就不過多闡述了,我選擇了最懶的辦法,直接通過yum安裝。

# 安裝依賴環(huán)境
[root@docker ~]# yum -y install yum-utils device-mapper-persistent-data lvm2

# 配置阿里云YUM源
[root@docker ~]# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

# 安裝docker
[root@docker ~]# yum -y install docker-ce

# 設置開機自啟動
[root@docker ~]# systemctl enable docker

# 配置阿里云docker鏡像源
[root@docker ~]# mkdir -p /etc/docker
[root@docker ~]# tee /etc/docker/daemon.json << EOF
> {
> "registry-mirrors": ["https://******.mirror.aliyuncs.com"]
> }
> EOF
[root@docker ~]# cat /etc/docker/daemon.json

# 啟動docker
[root@docker ~]# systemctl start docker

# 查看docker是否安裝完成
[root@docker ~]# docker -v

Docker version 20.10.17, build 100c701

三、啟動gitlab

拉取gitlab鏡像,并把gitlab的80,443,22端口和關鍵的目錄映射到宿主機上。注意可以

-d 選項指讓容器在后臺運行。-p 端口映射,主機端口:容器端口,分別把容器內443、80、22端口映射到宿主機的443、8082、222端口。(直接復制CSDN上的命令,可能會報錯,不是命令有問題,而是CSDN上塊的編碼格式有問題。手敲就好了)

[root@docker ~]# docker pull gitlab/gitlab-ce
[root@docker ~]# docker run -d -p 443:443 -p 8082:80 -p 222:22 --name gitlab -v /data/gitlab/config:/etc/gitlab -v /data/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce

四、修改配置gitlab

1. 獲取gitlab初始密碼,因為我在啟動容器的時候映射了配置文件目錄,就直接在宿主機上搜密碼了。

gitlab 的賬號是 root,通過初始密碼登入gitlab。

[root@docker ~]# grep Password /data/gitlab/config/initial_root_password
# 2. Password hasn't been changed manually, either via UI or via command line.
Password: jWx7wxw1uVYzPV52WU3F+sUMUT5RLBvBAhupBGcXkHk=

2. 登錄后先修改root密碼, Menu >> Admin >> Users >> 編輯,有個password,輸入新的密碼,然后Save changes 。保存完成后,用新密碼登錄即可。

3. 這里還沒結束,你創(chuàng)建一個new project,你會發(fā)現(xiàn),clone地址url 是容器的ID號,但我們改成宿主機IP地址。不然就無法拉取項目代碼。進入宿主機的 /data/gitlab/config/ 目錄(config目錄映射的是哪個目錄就進哪個目錄)。修改gitlab.rb 文件的內容。

[root@docker ~]# cd /data/gitlab/config/
[root@docker config]# ls
gitlab.rb ssh_host_ecdsa_key ssh_host_ed25519_key.pub trusted-certs
gitlab-secrets.json ssh_host_ecdsa_key.pub ssh_host_rsa_key
initial_root_password ssh_host_ed25519_key ssh_host_rsa_key.pub


[root@docker config]# vim gitlab.rb

external_url 'http://192.168.194.23:8082'

# 配置外部機器訪問的ip地址或域名,注意這里的端口號是容器內部80端口映射到主機上的端口號,如果不修改此行,則clone 的http地址會失敗。而且gitrunner連接時也會失敗。



gitlab_rails['gitlab_ssh_host'] = '192.168.194.23' # 配置ssh 主機IP地址
gitlab_rails['gitlab_shell_ssh_port'] = 222 # 配置ssh端口

nginx['listen_port'] = 80 # 配置nginx 端口號,如果不配,會發(fā)現(xiàn)gitlab無法訪問。因為它會默認使用上面 external_url 配置的端口號作為gitlab的nginx監(jiān)聽端口。



[root@docker config]# docker restart 容器ID # 重啟容器

4. 再次點開項目,查看clone地址,可以看到之前的容器ID已經(jīng)變成宿主機的IP地址了。而且ssh 和http端口號也都變成了宿主機的端口號了。

五、docker 部署 gitlab-runner

1. GitLab-Runner是配合GitLab-CI進行使用的。一般地,GitLab里面的每一個工程都會定義一個屬于這個工程的軟件集成腳本,用來自動化地完成一些軟件集成工作。當這個工程的倉庫代碼發(fā)生變動時,比如有人push了代碼,GitLab就會將這個變動通知GitLab-CI。這時GitLab-CI會找出與這個工程相關聯(lián)的Runner,并通知這些Runner把代碼更新到本地并執(zhí)行預定義好的執(zhí)行腳本。

2. 用 docker 部署 gitlab-runner。官方文檔上有兩種啟動方式,分別是使用系統(tǒng)本地目錄掛載啟動和docker 卷啟動,我這里用系統(tǒng)本地目錄掛載。

3. 在啟動runner 時可以加“--ip” 選項指定容器IP。我這里沒加。

詳見官網(wǎng):Run GitLab Runner in a container | GitLab

[root@docker ~]# docker pull gitlab/gitlab-runner:latest

[root@docker ~]# 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

六、注冊runner

1. 查看runner 的token。

2. 注冊runner,進入容器注冊,也可以不進入容器注冊。我選擇的是進入容器注冊。

root@8db9c442c584:/# gitlab-runner register

Enter the GitLab instance URL (for example, https://gitlab.com/): # 輸入gitlab url

http://172.17.0.3/ci # 注意,這里的url寫的是gitlab容器的IP地址,不是服務器IP
Enter the registration token: # 輸入runner 的 token
NNv2TXxEqDswX5Px4jbu
Enter a description for the runner: # 輸入runner名(隨意吧)
[8db9c442c584]: test
Enter tags for the runner (comma-separated): # 輸入runner標簽
test
Registering runner... succeeded runner=NNv2TXxE
Enter an executor: custom, docker, docker-ssh, virtualbox, docker+machine, docker-ssh+machine, kubernetes, parallels, shell, ssh: # 輸入執(zhí)行模式
shell
Runner registered successfully. Feel free to start it, but if it's running already the config should be automatically reloaded! # 完成設置

3. 注冊完成后,我們回gitlab 頁面,項目的CI/CD中,查看Runner,可以看到runner已關聯(lián)到此項目?;蛘咄ㄟ^管理員賬號看。到此gitrunner注冊成功。

總結

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • docker實現(xiàn)導出、導入和數(shù)據(jù)搬遷

    docker實現(xiàn)導出、導入和數(shù)據(jù)搬遷

    本篇文章主要介紹了docker實現(xiàn)導出、導入和數(shù)據(jù)搬遷,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-07-07
  • Linux上使用docker啟動redis并遠程訪問的實現(xiàn)

    Linux上使用docker啟動redis并遠程訪問的實現(xiàn)

    這篇文章主要介紹了Linux上使用docker啟動redis并遠程訪問的實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • Docker如何配置Redis容器持久化

    Docker如何配置Redis容器持久化

    這篇文章主要介紹了Docker如何配置Redis容器持久化問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • docker之MySQL同步數(shù)據(jù)的實現(xiàn)

    docker之MySQL同步數(shù)據(jù)的實現(xiàn)

    本文主要介紹了docker之MySQL同步數(shù)據(jù)的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-07-07
  • docker鏡像導入的實現(xiàn)方法

    docker鏡像導入的實現(xiàn)方法

    如果服務器網(wǎng)絡不好或者pull不下來鏡像,只能進行導入,本文主要介紹了docker鏡像導入的實現(xiàn)方法,具有一定的參考價值,感興趣的可以了解一下
    2023-09-09
  • Docker安全開放遠程訪問連接權限方式

    Docker安全開放遠程訪問連接權限方式

    文章介紹了如何配置Docker以實現(xiàn)遠程訪問、開啟認證和通信加密,包括生成證書和私鑰、配置Docker守護進程以及在IDEA和Maven中連接Docker服務的方法
    2024-11-11
  • CentOS 7上安裝Docker 1.8 的步驟詳解

    CentOS 7上安裝Docker 1.8 的步驟詳解

    本文分步驟給大家介紹了CentOS 7上安裝Docker 1.8 的步驟詳解,需要的朋友可以參考下
    2018-11-11
  • 從零搭建docker+jenkins+node.js自動化部署環(huán)境的方法

    從零搭建docker+jenkins+node.js自動化部署環(huán)境的方法

    這篇文章主要介紹了從零搭建docker+jenkins+node.js自動化部署環(huán)境的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-01-01
  • WIN10下安裝Docker的教程

    WIN10下安裝Docker的教程

    本文通過圖文并茂的形式給大家介紹了win10下安裝Docker的教程,非常不錯,具有參考借鑒價值,感興趣的朋友一起看看吧
    2016-10-10
  • 詳解Docker 容器使用 cgroups 限制資源使用

    詳解Docker 容器使用 cgroups 限制資源使用

    本篇文章主要介紹了Docker 容器使用 cgroups 限制資源使用,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-01-01

最新評論