gyf*_*ong 5 ssh amazon-ec2 docker gitlab-ci gitlab-ci-runner
我目前正在尝试通过 dockerising 来部署我的 NodeJS API 并将其放到 EC2 上,但是我已经因为这个错误走到了死胡同: load pubkey "/root/.ssh/id_rsa": invalid format
我尝试过的事情
apt-get install openssl-client在 docker 中使用和转换私有 RSA 密钥(但显然我丢失了,apt-get所以我也尝试过apk这也不起作用......????)可疑的:
pubkey,但所有教程都指出使用我的pem密钥,该密钥是从我的 EC2 设置中生成的。所以也许我错过了一个pubkey?但我找不到任何材料另有说明。gitlab-ci.yml
image: docker:19.03.12
variables:
DOCKER_TLS_CERTDIR: "/certs"
DOCKER_DRIVER: overlay2
services:
- docker:19.03.0-dind
before_script:
- docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
stages:
- build
- deploy
build:
stage: build
script:
# - docker build --tag $CI_REGISTRY/$CI_PROJECT_PATH:latest .
# - docker push $CI_REGISTRY/$CI_PROJECT_PATH:latest
- docker pull $CI_REGISTRY_IMAGE:latest || true
- docker build --cache-from $CI_REGISTRY_IMAGE:latest --tag $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA --tag $CI_REGISTRY/$CI_PROJECT_PATH:latest .
- docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA
- docker push $CI_REGISTRY/$CI_PROJECT_PATH:latest
deploy:
stage: deploy
only:
- master
script:
###### Login to deployment server using SSH #####
- mkdir -p ~/.ssh
- echo "$DEPLOY_SERVER_PRIVATE_KEY" | tr -d '\r' > ~/.ssh/id_rsa
- chmod 700 ~/.ssh/id_rsa
- '[[ -f ./dockerenv ]] && echo -e "Host *\n\tStrickHostKeyChecking no\n\n" > ~/.ssh/config'
- 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )'
- eval "$(ssh-agent -s)"
- ssh-add ~/.ssh/id_rsa
- ssh-keyscan -H $DEPLOYMENT_SERVER_IP >> ~/.ssh/known_hosts
###### Pull the registry to deployment server and recereate the docker service #####
- ssh $DEPLOYMENT_SERVER_USERNAME@$DEPLOYMENT_SERVER_IP docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
- ssh $DEPLOYMENT_SERVER_USERNAME@$DEPLOYMENT_SERVER_IP docker pull $CI_REGISTRY/$CI_PROJECT_PATH:latest
- ssh $DEPLOYMENT_SERVER_USERNAME@$DEPLOYMENT_SERVER_IP docker run $CI_REGISTRY/$CI_PROJECT_PATH:latest
Run Code Online (Sandbox Code Playgroud)
gitlab-runner config.toml
[[runners]]
name = "docker-runner"
url = "https://gitlab.com/"
token = "secretkey"
executor = "docker"
[runners.custom_build_dir]
[runners.cache]
[runners.cache.s3]
[runners.cache.gcs]
[runners.docker]
tls_verify = false
image = "docker:19.03.12"
privileged = true
disable_entrypoint_overwrite = false
oom_kill_disable = false
disable_cache = false
volumes = ["/certs/client", "/cache"]
shm_size = 0
Run Code Online (Sandbox Code Playgroud)
CI 转轮输出
$ ssh $DEPLOYMENT_SERVER_USERNAME@$DEPLOYMENT_SERVER_IP docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
load pubkey "/root/.ssh/id_rsa": invalid format
Login Succeeded
$ ssh $DEPLOYMENT_SERVER_USERNAME@$DEPLOYMENT_SERVER_IP docker pull $CI_REGISTRY/$CI_PROJECT_PATH:latest
load pubkey "/root/.ssh/id_rsa": invalid format
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
255 次 |
| 最近记录: |