CICD持续集成与持续交付

打印 上一主题 下一主题

主题 1557|帖子 1557|积分 4673

一 CICD是什么

CI/CD 是指持续集成(Continuous Integration)和持续部署(Continuous Deployment)或持续交付(Continuous Delivery)
1.1 持续集成(Continuous Integration)

持续集成是一种软件开辟实践,团队成员频仍地将他们的工作集成到共享的代码仓库中。其重要特点包罗:

  • 频仍提交代码:开辟职员可以天天多次提交代码,确保代码库始终保持最新状态。
  • 自动化构建:每次提交后,自动触发构建过程,包罗编译、测试、静态分析等。
  • 快速反馈:假如构建失败或测试不通过,能够快速地向开辟职员提供反馈,以便及时修复问题。
1.2 持续部署(Continuous Deployment)

持续部署是在持续集成的基础上,将通过全部测试的代码自动部署到生产环境中。其特点如下:

  • 自动化流程:从代码提交到生产环境的部署完全自动化,无需人工干预。
  • 高频率部署:可以实现频仍的部署,使得新功能能够快速地提供给用户。
  • 风险控制:需要有强大的测试和监控体系来确保部署的稳定性和可靠性。
1.3 持续交付(Continuous Delivery)

持续交付与持续部署类似,但不肯定自动部署到生产环境,而是随时可以部署。其重点在于确保软件随时处于可发布状态。
CI/CD 的好处包罗:

  • 进步开辟服从:减少手动操作和等候时间,加速开辟周期。
  • 尽早发现问题:通过频仍的集成和测试,问题能够在早期被发现和办理。
  • 降低风险:减少了大规模部署时可能出现的问题,进步了软件的质量和稳定性。
  • 增强团队协作:促进团队成员之间的沟通和协作,进步团队的整体服从。
常见的 CI/CD 工具包罗 Jenkins、GitLab CI/CD、Travis CI 等。这些工具可以帮助团队实现自动化的构建、测试和部署流程。
二 git工具利用


2.1 git简介

Git 是一个分布式版本控制系统,被广泛用于软件开辟中,以管理代码的版本和变更。
重要特点:


  • 分布式

    • 每个开辟者都有完整的代码仓库副本,这使得开辟者可以在离线状态下进行工作,而且在网络出现问题时也不会影响开辟。
    • 即使中心折务器出现故障,开辟者仍然可以在本地进行开辟和检察项目汗青。

  • 高效的分支管理

    • Git 中的分支创建和切换非常快速和简朴。开辟职员可以轻松地创建新的分支来进行新功能的开辟或修复 bug,而不会影响主分支。
    • 归并分支也相对轻易,可以利用多种归并计谋来满意差别的需求。

  • 快速的版本回退

    • 假如发现某个版本存在问题,可以快速回退到之前的版本。
    • 可以检察每个版本的详细变更记录,方便了解代码的演进过程。

  • 强大的提交管理

    • 每个提交都有一个唯一的标识符,可以方便地引用和检察特定的提交。
    • 提交可以包罗详细的提交信息,形貌本次提交的更改内容。

  • 支持协作开辟

    • 开辟者可以将自己的更改推送到远程仓库,供其他开辟者拉取和归并。
    • 可以处理多个开辟者同时对同一文件进行修改的情况,通过归并冲突办理机制来确保代码的完整性。

Git必看秘籍:https://git-scm.com/book/zh/v2
2.2 git 工作流程


Git 有三种状态:已提交(committed)、已修改(modified) 和 已暂存(staged)。


  • 已修改表现修改了文件,但还没保存到数据库中。
  • 已暂存表现对一个已修改文件的当前版本做了标记,使之包罗在下次提交的快照中。
  • 已提交表现数据已经安全地保存在本地数据库中。
这会让我们的 Git 项目拥有三个阶段:工作区、暂存区以及 Git 目次。
三 部署git

3.1 安装git

  1. #在rhel9的系统中默认自带git
  2. [root@CICD-node1 ~]# dnf install git  -y
  3. #设定命令补全功能
  4. [root@CICD-node1 timinglee]# echo "source  /usr/share/bash-completion/completions/git" >> ~/.bashrc
  5. [root@CICD-node1 timinglee]# source  ~/.bashrc
复制代码
3.2 初始化

获取 Git 仓库通常有两种方式:


  • 将尚未进行版本控制的本地目次转换为 Git 仓库。
  • 从别的服务器克隆 一个已存在的 Git 仓库。比如: git clone
初始化版本库
  1. [root@CICD-node1 ~]# mkdir  timinglee
  2. [root@CICD-node1 timinglee]# git init
  3. 提示:使用 'master' 作为初始分支的名称。这个默认分支名称可能会更改。要在新仓库中
  4. 提示:配置使用初始分支名,并消除这条警告,请执行:
  5. 提示:
  6. 提示:  git config --global init.defaultBranch <名称>
  7. 提示:
  8. 提示:除了 'master' 之外,通常选定的名字有 'main'、'trunk' 和 'development'。
  9. 提示:可以通过以下命令重命名刚创建的分支:
  10. 提示:
  11. 提示:  git branch -m <name>
  12. 已初始化空的 Git 仓库于 /root/timinglee/.git/
  13. [root@CICD-node1 timinglee]# ls -a
  14. .  ..  .git
  15. [root@CICD-node1 timinglee]# ls .git/
  16. branches  config  description  HEAD  hooks  info  objects  refs
  17. #设定用户信息
  18. [root@CICD-node1 timinglee]# git config --global user.name "timinglee"
  19. [root@CICD-node1 timinglee]# git config --global user.email "timinglee@timinglee.org"
  20. #查看当前文件状态
  21. [root@CICD-node1 timinglee]# git status
  22. 位于分支 master
  23. 尚无提交
  24. 无文件要提交(创建/拷贝文件并使用 "git add" 建立跟踪)
  25. [root@CICD-node1 timinglee]# git status -s                #简化输出
复制代码
  [!WARNING]
  .git目次是git跟踪管理版本库的,没事别瞎溜达
  四 git的利用方法


4.1 常用方法

  1. [root@CICD-node1 timinglee]# echo timnglee > README.md
  2. [root@CICD-node1 timinglee]# git status
  3. 位于分支 master
  4. 尚无提交
  5. 未跟踪的文件:
  6.   (使用 "git add <文件>..." 以包含要提交的内容)
  7.         README.md
  8. 提交为空,但是存在尚未跟踪的文件(使用 "git add" 建立跟踪)
  9. [root@CICD-node1 timinglee]# git status -s
  10. ?? README.md                                        #??        新建文件未添加到版本库
  11. [root@CICD-node1 timinglee]# git add README.md
  12. [root@CICD-node1 timinglee]# git status  -s
  13. A  README.md                                        #A 已添加到暂存区
  14. #提交暂存区的数据
  15. [root@CICD-node1 timinglee]# git commit -m "add README.md"
  16. [master(根提交) 74625b0] add README.md
  17. 1 file changed, 1 insertion(+)
  18. create mode 100644 README.md
  19. [root@CICD-node1 timinglee]# git status -s                #无任何显示,标识已经提交到版本库
  20. #再次修改
  21. [root@CICD-node1 timinglee]# vim README.md
  22. timnglee
  23. timnglee
  24. [root@CICD-node1 timinglee]# git status -s
  25. M README.md                                                                        #右M 表示文件在工作区被修改
  26. #撤销修改
  27. [root@CICD-node1 timinglee]# git checkout -- README.md
  28. 从索引区更新了 1 个路径
  29. [root@CICD-node1 timinglee]# cat README.md
  30. timnglee
  31. #从新修改
  32. [root@CICD-node1 timinglee]# echo timinglee> README.md
  33. [root@CICD-node1 timinglee]# git add README.md
  34. [root@CICD-node1 timinglee]# git status -s
  35. M  README.md                                                                        #左M表示文件已经在版本库中并被跟踪,
  36. #从暂存区撤销
  37. [root@CICD-node1 timinglee]# git restore --staged README.md
  38. [root@CICD-node1 timinglee]# git status -s
  39. M README.md
  40. #从新提交
  41. [root@CICD-node1 timinglee]# git add README.md
  42. [root@CICD-node1 timinglee]# git status -s
  43. M  README.md
  44. #更新
  45. [root@CICD-node1 timinglee]# git commit -m "update v1"
  46. [master 6a14bb5] update v1
  47. 1 file changed, 1 insertion(+), 1 deletion(-)
  48. [root@CICD-node1 timinglee]# git status -s
  49. #更新文件
  50. [root@CICD-node1 timinglee]# echo timinglee >> README.md
  51. [root@CICD-node1 timinglee]# git add README.md
  52. [root@CICD-node1 timinglee]# echo timinglee >> README.md
  53. [root@CICD-node1 timinglee]# git status -s
  54. MM README.md                                                                #MM表示有一部分在暂存区,还有一部分没有提交
  55. #如果现在提交只能提交在暂存区中的部分
  56. [root@CICD-node1 timinglee]# git commit -m "update v2"
  57. [master dc9b45f] update v2
  58. 1 file changed, 1 insertion(+)
  59. [root@CICD-node1 timinglee]# git status -s
  60. M README.md                                                                #右M还在
  61. #查看已暂存和未暂存的修改变化
  62. [root@CICD-node1 timinglee]# echo timinglee >> README.md
  63. [root@CICD-node1 timinglee]# git diff
  64. diff --git a/README.md b/README.md
  65. index 62be538..87bd0f6 100644
  66. --- a/README.md
  67. +++ b/README.md
  68. @@ -1,2 +1,3 @@
  69. timinglee
  70. timinglee
  71. +timinglee
  72. #跳过使用暂存区,只能在提交过的在版本库中存在的文件使用如果文件状态是“??”不能用此方法
  73. [root@CICD-node1 timinglee]# git commit -a -m "update v3"
  74. [master 3579560] update v3
  75. 1 file changed, 1 insertion(+)
  76. #撤销工作区中删除动作
  77. [root@CICD-node1 timinglee]# touch lee.txt
  78. [root@CICD-node1 timinglee]# git add lee.txt
  79. [root@CICD-node1 timinglee]# git commit  -m "add lee.txt"
  80. [master 16141e7] add lee.txt
  81. 1 file changed, 0 insertions(+), 0 deletions(-)
  82. create mode 100644 lee.txt
  83. [root@CICD-node1 timinglee]# git status -s
  84. D lee.txt                                                                #右D表示文件在工作区被删除
  85. [root@CICD-node1 timinglee]# git checkout -- lee.txt
  86. [root@CICD-node1 timinglee]# ls
  87. dir1  lee.txt  README.md
  88. #从版本库中删除文件
  89. [root@CICD-node1 timinglee]# git rm lee.txt
  90. rm 'lee.txt'
  91. [root@CICD-node1 timinglee]# git status -s
  92. D  lee.txt                                                                #左D表示文件删除动作被提交到暂存区
  93. [root@CICD-node1 timinglee]# git commit -m "delete lee.txt"
  94. [master 85483db] delete lee.txt
  95. 1 file changed, 0 insertions(+), 0 deletions(-)
  96. delete mode 100644 lee.txt
  97. [root@CICD-node1 timinglee]# git status -s
  98. #恢复从版本库中被删除的文件
  99. [root@CICD-node1 timinglee]# git log                        #查看操作日志
  100. commit 85483db3cb7f543950f678b7d04b85daef96c248 (HEAD -> master)
  101. Author: timinglee <timinglee@timinglee.org>
  102. Date:   Wed Sep 11 01:52:49 2024 +0800
  103.     delete lee.txt
  104. commit 16141e793a06cdce042e203e5c4a78f8fc92736b
  105. Author: timinglee <timinglee@timinglee.org>
  106. Date:   Wed Sep 11 01:48:45 2024 +0800
  107.     add lee.txt
  108. commit 3579560e8307005cc26cf51f4decfe2024762d4c
  109. Author: timinglee <timinglee@timinglee.org>
  110. Date:   Wed Sep 11 01:46:38 2024 +0800
  111.     update v3
  112. commit dc9b45fea7284911e24733dce044ca18624e791b
  113. Author: timinglee <timinglee@timinglee.org>
  114. Date:   Wed Sep 11 01:32:43 2024 +0800
  115.     update v2
  116. commit 6a14bb58e424a96c3b18c694fbe444bd1e662605
  117. Author: timinglee <timinglee@timinglee.org>
  118. Date:   Wed Sep 11 01:28:35 2024 +0800
  119.     update v1
  120. commit 74625b07475241cea36cc23565ebd0eb7a95142c
  121. Author: timinglee <timinglee@timinglee.org>
  122. Date:   Wed Sep 11 01:18:56 2024 +0800
  123.     add README.md
  124. [root@CICD-node1 timinglee]# git reflog                        #查看提交动作
  125. 85483db (HEAD -> master) HEAD@{0}: commit: delete lee.txt
  126. 16141e7 HEAD@{1}: commit: add lee.txt
  127. 3579560 HEAD@{2}: commit: update v3
  128. dc9b45f HEAD@{3}: commit: update v2
  129. 6a14bb5 HEAD@{4}: commit: update v1
  130. 74625b0 HEAD@{5}: commit (initial): add README.md
  131. #版本回退到删除之前
  132. [root@CICD-node1 timinglee]# git reset --hard 16141e7
  133. HEAD 现在位于 16141e7 add lee.txt
  134. [root@CICD-node1 timinglee]# ls
  135. dir1  lee.txt  README.md
复制代码
4.2 git对于文件怎样忽略

在做软件开辟时对源码编译会产生一些临时文件,我们在提交时需要忽略这些临时文件
  1. [root@CICD-node1 timinglee]# mkdir dir1/
  2. [root@CICD-node1 timinglee]# touch dir1/.file2
  3. [root@CICD-node1 timinglee]# git status -s
  4. ?? .file1
  5. ?? dir1/
  6. [root@CICD-node1 timinglee]# echo .file1 > .gitignore
  7. [root@CICD-node1 timinglee]# git status -s
  8. ?? .gitignore
  9. ?? dir1/
  10. [root@CICD-node1 timinglee]# echo ".*" > .gitignore
  11. [root@CICD-node1 timinglee]# git status -s
复制代码
五 gitlab代码仓库

5.1 gitlab简介




  • GitLab 是一个用于仓库管理系统的开源项目,利用 Git 作为代码管理工具,并在此基础上搭建起来的 web 服务。
  • GitLab 具有许多功能,比如代码托管、持续集成和持续部署(CI/CD)、问题跟踪、归并请求管理等。它可以帮助开辟团队更好地协作开辟软件项目,进步开辟服从和代码质量。
官网:https://about.gitlab.com/install/
中文站点: https://gitlab.cn/install/
官方包地址:https://packages.gitlab.com/gitlab/gitlab-ce
5.2 gitlab 的部署实施

5.2.1 部署gitlab

部署gitlab需要内存大于4G
  1. #在安装包之前需配置好软件仓库来解决依赖性
  2. [root@CICD-node1 ~]# yum install -y curl policycoreutils-python openssh-server perl
  3. [root@CICD-node1 ~]# dnf install gitlab-ce-17.1.6-ce.0.el9.x86_64.rpm -y
复制代码

5.2.2 配置gitlab

  1. #修改配置文件
  2. [root@CICD-node1 ~]# cd /etc/gitlab/
  3. [root@CICD-node1 gitlab]# ls
  4. gitlab.rb
  5. [root@CICD-node1 gitlab]# vim gitlab.rb
  6. 32 external_url 'http://172.25.254.80'
  7. #修改配置文件后需利用gitlab-crt来生效,
  8. [root@CICD-node1 gitlab]# gitlab-ctl reconfigure
  9. #执行命令成功后会把所有组件全部启动起来
复制代码
5.2.3 登岸gitlab

用户名默认为 root 。假如在安装过程中指定了初始密码,则用初始密码登录,假如未指定密码,则系统会随机天生一个密码并存储在 /etc/gitlab/initial_root_password 文件中, 检察随机密码并利用 root 用户名登录。
   [!WARNING]
  留意:出于安全缘故起因,24 小时后,/etc/gitlab/initial_root_password 会被第一次 gitlab-ctl reconfigure 自动删除,因此若利用随机密码登录,建议安装乐成初始登录乐成之后,立即修改初始密码。
  1. #查看原始密码
  2. [root@CICD-node1 gitlab]# cat /etc/gitlab/initial_root_password
  3. # WARNING: This value is valid only in the following conditions
  4. #          1. If provided manually (either via `GITLAB_ROOT_PASSWORD` environment variable or via `gitlab_rails['initial_root_password']` setting in `gitlab.rb`, it was provided before database was seeded for the first time (usually, the first reconfigure run).
  5. #          2. Password hasn't been changed manually, either via UI or via command line.
  6. #
  7. #          If the password shown here doesn't work, you must reset the admin password following https://docs.gitlab.com/ee/security/reset_user_password.html#reset-your-root-password.
  8. Password: jN9lq6NSP8a2V+4n57djzWlEGP7RZ43DSIse8sXJGTQ=                #密码
  9. # NOTE: This file will be automatically deleted in the first reconfigure run after 24 hours.
复制代码
登岸

设置语言

设置密码

5.3 在gitlab中新建项目





  1. #生成sshd密钥
  2. [root@CICD-node1 ~]# ssh-keygen
  3. Generating public/private rsa key pair.
  4. Enter file in which to save the key (/root/.ssh/id_rsa):
  5. Enter passphrase (empty for no passphrase):
  6. Enter same passphrase again:
  7. Your identification has been saved in /root/.ssh/id_rsa
  8. Your public key has been saved in /root/.ssh/id_rsa.pub
  9. The key fingerprint is:
  10. SHA256:QuEqZNMwIrNC3yV1yPMhYBtxqyDO2mcdMH9/D07qjmo root@CICD-node1.timinglee.org
  11. The key's randomart image is:
  12. +---[RSA 3072]----+
  13. |+.o  **+..       |
  14. |o+.+o.**o.       |
  15. |o.+o+oo.+ .      |
  16. |+o...*.  .       |
  17. | o. ..+ S        |
  18. |.. . . + .       |
  19. |. . o .   . +    |
  20. |   o  E  . = o   |
  21. |     ....o+ . .  |
  22. +----[SHA256]-----+
  23. [root@CICD-node1 ~]# cat .ssh/id_rsa.pub
  24. ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDO2nM+6+YAYVqCag/AqAipxJFF8rA7Trj5jh16eg9kaiIH6ftCBIQKM2tSbm63j/QLahfZa5sA3EJvXm/9HgWgAuz1f6ATvxasSpTfkrshBnnfFlA2JVzh2EVTkD3rkiJoOSTs8GVSxotUhPy716qfQI9nnK3oXlQhcLTVxmHTxzNMKG2T8WZyNALnUxevf1LDfBHJZt+2DcYET16wf5BwqMbUQs3TRb2rrlXIzVM1wZDHXHog+AQrXUzESWYLQK22BS+4c4iHStjzN+/v/gqH9T8oTPrA+P9oHifzk8aLrdSKYSZttlYgt7QOEqD5BzaRq/yNxfRm7acvqZY4EhlaK1cw1QAmTYsnqbyWRCzIa/yWtH02atzVeP65zCeqBIEch7vqR2YG2M8CjCvWgrtps3b1M5Hn9lxzwegXYBxx7vXOrh6M49OdyD7HYpzA1ePhM0VAaauQnHzwlJMNtElz2gVVzk90d1ZcNBvwm+BK+njSQ/NZhQXKgxKVWwRA3p0= root@CICD-node1.timinglee.org
复制代码
上传公钥到gitlab中

下载项目
  1. [root@CICD-node1 ~]# git clone  git@172.25.254.80:root/timinglee.git
  2. 正克隆到 'timinglee'...
  3. The authenticity of host '172.25.254.80 (172.25.254.80)' can't be established.
  4. ED25519 key fingerprint is SHA256:G3bSH82EUaYIfG+I6cDLyKgyKY2DngMYwt5U1Ch71jI.
  5. This key is not known by any other names
  6. Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
  7. Warning: Permanently added '172.25.254.80' (ED25519) to the list of known hosts.
  8. remote: Enumerating objects: 3, done.
  9. remote: Counting objects: 100% (3/3), done.
  10. remote: Compressing objects: 100% (2/2), done.
  11. remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
  12. 接收对象中: 100% (3/3), 完成.
  13. [root@CICD-node1 ~]# ls -R
  14. .:
  15. timinglee
  16. ./timinglee:
  17. README.md
  18. [root@CICD-node1 ~]# cd timinglee/
  19. [root@CICD-node1 timinglee]# ls
  20. README.md
  21. [root@CICD-node1 timinglee]# git remote -v
  22. origin  git@172.25.254.80:root/timinglee.git (fetch)
  23. origin  git@172.25.254.80:root/timinglee.git (push)
  24. #文件提交
  25. [root@CICD-node1 timinglee]# echo timinglee > timinglee
  26. [root@CICD-node1 timinglee]# git add timinglee
  27. [root@CICD-node1 timinglee]# git commit -m "add timinglee"
  28. [main 6c08cbb] add timinglee
  29. 1 file changed, 1 insertion(+)
  30. create mode 100644 timinglee
  31. [root@CICD-node1 timinglee]# git push -u origin main
  32. 枚举对象中: 4, 完成.
  33. 对象计数中: 100% (4/4), 完成.
  34. 使用 4 个线程进行压缩
  35. 压缩对象中: 100% (2/2), 完成.
  36. 写入对象中: 100% (3/3), 274 字节 | 274.00 KiB/s, 完成.
  37. 总共 3(差异 0),复用 0(差异 0),包复用 0
  38. To 172.25.254.80:root/timinglee.git
  39.    2a97cba..6c08cbb  main -> main
  40. 分支 'main' 设置为跟踪 'origin/main'。
复制代码
六 jenkins

6.1 jenkins 简介




  • Jenkins是开源CI&CD软件领导者, 提供凌驾1000个插件来支持构建、部署、自动化, 满意任何项目的需要。
  • Jenkins用Java语言编写,可在Tomcat等流行的servlet容器中运行,也可独立运行
CI(Continuous integration持续集成)持续集成夸大开辟职员提交了新代码之后,立刻进行构建、(单元)测试。

CD(Continuous Delivery持续交付) 是在持续集成的基础上,将集成后的代码部署到更贴近真实运行环境(类生产环境)中

6.2 部署 jenkins

软件下载:https://www.jenkins.io/download/
jenkins需要部署在新的假造机中
   [!WARNING]
  jenkins需要部署在新的假造机中,建议最少4G内存,4核心cpu
  1. #安装依赖包
  2. [root@jenkins ~]# yum install fontconfig java-17-openjdk git
  3. #安装jenkins
  4. [root@jenkins ~]# dnf install jenkins-2.476-1.1.noarch.rpm
  5. #启动jenkins
  6. [root@jenkins ~]# systemctl enable --now jenkins.service
  7. #查看原始密码
  8. [root@jenkins ~]# cat /var/lib/jenkins/secrets/initialAdminPassword
  9. b081aab333d24530a640e91579fdc6fc
复制代码
部署插件





   [!NOTE]
  建议修改admin的密码,在admin的设置中修改即可
  6.3 jenkins 与gitlab的整合




这个错误的缘故起因是由于本机没有gitlab上的sshkey
  1. [root@jenkins ~]# ssh-keygen
  2. Generating public/private rsa key pair.
  3. Enter file in which to save the key (/root/.ssh/id_rsa):
  4. Enter passphrase (empty for no passphrase):
  5. Enter same passphrase again:
  6. Your identification has been saved in /root/.ssh/id_rsa
  7. Your public key has been saved in /root/.ssh/id_rsa.pub
  8. The key fingerprint is:
  9. SHA256:WYl62PK9yE5QWuWRr6IKT7BJwkYpvmn1lAQa7W2js5s root@jenkins.timinglee.org
  10. The key's randomart image is:
  11. +---[RSA 3072]----+
  12. | ...      o.     |
  13. |  +..    +.o     |
  14. |.+. ..  + +.     |
  15. |=  ..+.B o  .    |
  16. |.+o.ooB S  .     |
  17. |.o+*o  =...      |
  18. | ++ +. .o..      |
  19. |.  =. .o . .     |
  20. |   E+. .+ .      |
  21. +----[SHA256]-----+
  22. [root@jenkins ~]# cat /root/.ssh/id_rsa.pub
  23. ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDA1imI8HrTo8mc457kNDBPmGvSYSdEeXKE977DL1vTzG5KdICUn5Si3reddc1BUe6F+sKO1bKuh7f7QqZ79fbJVl2xOJjbf4d9XJKQQQs06aa72p2HfNVDdgA+u0vOPJ6NY2hmatmU98GtiBzAXbbq+qcK4hT28fS39GWNWjHhoKpvglxMMR+W6xWNQHMj/9aN9v7ggW9jRPmENXKbY+8k0j0sPOfapQvH2nqUbRBfl6Fv26ExerPLKeNzhWzNOSOWoz47OFF186W12z+NtV3RDBjxJK77hzkHCCT245kzfuY3ZN8f25aS5+RMr7eIfzWlmoaKHCVC3ltOz6LCRwV/ldKuBYSKwjN7HqYbhjCWIVA0pqQUdDGgYvCJiHA8zjzPYDMyNcCKhAlWbj3FwYhLfdkiO4UQXkNbosJtqLRVcKf04FoaeRKEQm1lYMaVvCn603g/H2srN5e/9Tf+ydPVGHMqrGHFyMiGrHGDEp6HxFP8L6mLylvnhZ0a9HVuDJ0= root@jenkins.timinglee.org
复制代码
把此密钥添加到gitlab上即可
添加密钥根据



添加完成后报错依然存在,由于ssh初次连接主机是需要署名认证,需要手动输入yes
尚有两太主机之间肯定要做好解析
  1. [root@jenkins ~]# vim /etc/ssh/ssh_config
  2. Host *
  3.     StrictHostKeyChecking no
复制代码





免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

南七星之家

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表