【问题标题】:Gitlab CI/CD pipeline on server with custom port not working服务器上的 Gitlab CI/CD 管道,自定义端口不起作用
【发布时间】:2022-10-23 23:42:19
【问题描述】:
昨天,我已经开始设置 Gitlab CI-CD 管道。
一开始我已经设置了gitlab runner,
然后我创建了测试 ci/cd 管道并成功测试。
为了扩展它,我设置了整个部署结构,其中
我正在登录 OCI 实例并完成所有必需的事情
但是在连接到 oci 实例时遇到一些问题 throw gitlab ci/cd 管道
我有自定义端口的 OCI 实例不起作用
得到错误为
ssh: Could not resolve hostname <server_ip>:<server_port>: nodename nor servname provided, or not known
【问题讨论】:
标签:
gitlab
continuous-integration
pipeline
continuous-deployment
cicd
【解决方案1】:
为了解决这个问题,我修改了 gitlab-ci.yml 文件
在哪里@时间连接服务器
ssh -p <server_port> <username>@<server_ip>
下面是 .gitlab-ci.yml
variables:
TAG_LATEST: $CI_REGISTRY_IMAGE/$CI_COMMIT_REF_NAME:latest
TAG_COMMIT: $CI_REGISTRY_IMAGE/$CI_COMMIT_REF_NAME:$CI_COMMIT_SHORT_SHA
stages:
- build
- test
- publish
- deploy
build-job:
stage: build
script:
- echo "Compiling the code..."
- echo "Compile complete."
unit-test-job:
stage: test
script:
- echo "Test Job Run & Done."
lint-test-job:
stage: test
script:
- echo "No lint issues found."
publish:
# image: docker:latest
stage: publish
services:
# - docker:dind
script:
# - docker build -t $TAG_COMMIT -t $TAG_LATEST .
# - docker login -u gitlab-ci-token -p $CI_BUILD_TOKEN $CI_REGISTRY
# - docker push $TAG_COMMIT
# - docker push $TAG_LATEST
- echo "publishing code... This will take about 10 seconds."
# - sleep 10
- echo "No publishing issues found."
deploy-job: # This job runs in the deploy stage.
image: alpine:latest
stage: deploy # It only runs when *both* jobs in the test stage complete successfully.
environment: production
script:
- chmod og= $ID_RSA
- apk update && apk add openssh-client
- ssh -i $ID_RSA -o StrictHostKeyChecking=no -p $SSH_PORT $SERVER_USER@$SERVER_IP "pwd"
- echo "Deploying application..."
- echo "Application successfully deployed."
ssh -i $ID_RSA -o StrictHostKeyChecking=no -p $SSH_PORT $SERVER_USER@$SERVER_IP "pwd"