前沿追踪|GitLabCI/CD自动集成和部署到远程服务器( 二 )
deploy-production:stage: deployscript:- ./deploy_prod.shonly:- master
注意:管道的名称是自定义的 。 您可以重命名deploy-production为对您有意义的名称 。
在将YAML文件添加到存储库的根目录之前 , 可以使用CI Lint编写和验证您的YAML文件 。 您也可以通过使用UI中可用的模板之一来开始使用 。 您可以通过创建新文件 , 选择适合您的应用程序的模板并根据需要进行调整来使用它们:
将文件保存到存储库的根目录后 , GitLab会将其检测为CI/CD配置并开始执行 。 如果转到左侧边栏CI/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:
- 运行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 register
2.运行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和令牌现在该重新启动阻塞的管道了 , 然后您可以发现它已成功执行 。
部署方式我将在这里提到使用SSH通过YAML脚本访问远程服务器
添加SSH密钥当您的CI/CD作业在Docker容器中运行(意味着环境已包含在内)并且您想要在私有服务器中部署代码时 , 您需要一种访问它的方法 。 这是SSH密钥对派上用场的地方 。
您首先需要创建一个SSH密钥对 。 请勿在SSH密钥中添加密码 , 否则before_script将在YAML文件中提示输入密码 。
- 前沿军事报道|普京4个字回应十分解气,中俄率先突破!美国要求疫苗必须无偿供应
- 科技前沿阵地|涨疯了!海思安防芯片遭哄抬“围剿”
- 东方网|数字贸易发展趋势和前沿高峰论坛在京召开
- NBA闲话直说|给我放开吃!80秒4助攻4三分!隆多自带追踪器!大莫:哎呀哥真香
- 央广网|直击服贸会:四场高峰论坛轮番举行 聚焦服务贸易发展前沿
- 国际前沿观察|美国提案遭盟友反对,伊朗嘲讽:75年来第一次见,安理会投票2:2
- 国际前沿观察|叫板美国多了一份底气,美国封锁彻底失效!伊朗研发出国产发动机
- 上海新增4例境外输入病例,已追踪同航班密接者150人
- 杭州|报道追踪:8月电费猛涨到底为何?电力公司这么答复
- 前沿哨所|直到上浮美军才发现,急派兵监视,俄罗斯核潜艇潜入阿拉斯加海域