前沿追踪|GitLabCI/CD自动集成和部署到远程服务器( 二 )

deploy-production:stage: deployscript:- ./deploy_prod.shonly:- master注意:管道的名称是自定义的 。 您可以重命名deploy-production为对您有意义的名称 。
在将YAML文件添加到存储库的根目录之前 , 可以使用CI Lint编写和验证您的YAML文件 。 您也可以通过使用UI中可用的模板之一来开始使用 。 您可以通过创建新文件 , 选择适合您的应用程序的模板并根据需要进行调整来使用它们:
前沿追踪|GitLabCI/CD自动集成和部署到远程服务器将文件保存到存储库的根目录后 , GitLab会将其检测为CI/CD配置并开始执行 。 如果转到左侧边栏CI/CD>管道 , 则会发现作业卡住 , 如果单击其中之一 , 则会看到以下问题:
前沿追踪|GitLabCI/CD自动集成和部署到远程服务器GitLabRunnerGitLab Runner是一个开源项目 , 用于运行您的作业并将结果发送回GitLab 。 它与GitLab CI/CD结合使用 , GitLab CI/CD是GitLab随附的用于协调作业的开源持续集成服务 。
可以在GNU/Linux , macOS , FreeBSD和Windows上安装和使用GitLab Runner 。 您可以使用Docker安装它 , 手动下载二进制文件 , 或使用GitLab提供的rpm/deb软件包的存储库 。 在此博客中 , 我将其作为docker服务安装
在开始之前 , 请确保已安装Docker 。 要gitlab-runner在Docker容器中运行 , 需要确保在重新启动容器时配置不会丢失 。 在安装时要求提供映像时 , 我键入了alpine:3.7 , 它轻巧且足以满足要求 。
注意:如果使用*session_server* , 则还需要*8093*通过添加*-p 8093:8093*到*docker run*命令来公开端口 。
注册Runner最后一步是注册一个新的Runner 。 在注册之前 , GitLab Runner容器不会接收任何作业 。 完成注册后 , 结果配置将被写入您选择的配置卷(例如/srv/gitlab-runner/config) , 并由运行器使用该配置卷自动加载 。
要使用Docker容器注册Runner:

  1. 运行register命令:
  • 对于本地系统卷安装:
docker run --rm -it -v /srv/gitlab-runner/config:/etc/gitlab-runner gitlab/gitlab-runner register如果*/srv/gitlab-runner/config*在安装过程中使用了其他配置卷 , 则应使用正确的卷更新命令 。
  • 对于Docker卷挂载:
docker run --rm -it -v gitlab-runner-config:/etc/gitlab-runner gitlab/gitlab-runner:latest register2.运行register命令:
Please enter the gitlab-ci coordinator URL (e.g. ) 3.输入您获得的令牌来注册跑步者:
Please enter the gitlab-ci token for this runnerxxx您可以从“设置”>“ CI / CD”>“ Runners”>“展开”>“手动设置特定的Runner”获取URL和令牌
现在该重新启动阻塞的管道了 , 然后您可以发现它已成功执行 。
前沿追踪|GitLabCI/CD自动集成和部署到远程服务器部署方式我将在这里提到使用SSH通过YAML脚本访问远程服务器
添加SSH密钥当您的CI/CD作业在Docker容器中运行(意味着环境已包含在内)并且您想要在私有服务器中部署代码时 , 您需要一种访问它的方法 。 这是SSH密钥对派上用场的地方 。
您首先需要创建一个SSH密钥对 。 请勿在SSH密钥中添加密码 , 否则before_script将在YAML文件中提示输入密码 。