Я использую CircleCI для развертывания проекта в каплях Digitalocean.
Я использовал драйвер digitalocean для создания удаленного экземпляра docker.
Это ответ на проблему
Detecting the provisioner...
Provisioning with ubuntu(systemd)...
Installing Docker...
Copying certs to the local machine directory...
Copying certs to the remote machine...
Setting Docker configuration on the remote daemon...
Checking connection to Docker...
Docker is up and running!
To see how to connect your Docker Client to the Docker Engine running on this virtual machine, run: docker-machine env app-production
Building ********
ERROR: SSL error: [SSL: TLSV1_ALERT_PROTOCOL_VERSION] tlsv1 alert protocol version (_ssl.c:661)
Exited with code exit status 1
После этого мне обычно приходится regenerate-cert
на моей локальной машине, прежде чем я смогу перезагрузить образ.
Конфигурация CircleCI
jobs:
build:
machine: true
working_directory: ~/app_api
steps:
- checkout
- run:
name: Run tests
command: |
docker-compose -f local.yml up -d
docker-compose -f local.yml run django python manage.py help
docker-compose -f local.yml run django pytest
deploy:
machine: true
working_directory: ~/app_api
steps:
- checkout
- add_ssh_keys:
fingerprints:
**:**:**:**:**:**:**:**:**:**:**:**:**:**:**:**
- run:
name: Deploy Master to Digital Ocean
command: |
cp ./id_rsa.pub ~/.ssh
ls -al ~/.ssh
base=https://github.com/docker/machine/releases/download/v0.14.0 &&
curl -L $base/docker-machine-$(uname -s)-$(uname -m) >/tmp/docker-machine &&
sudo install /tmp/docker-machine /usr/local/bin/docker-machine
mkdir -p .envs/.production
echo POSTGRES_HOST=$POSTGRES_HOST >> .envs/.production/.postgres
echo REDIS_URL=$REDIS_URL >> .envs/.production/.django
...
docker-machine create --driver generic --generic-ip-address 1**.2**.1**.**7 --generic-ssh-key ~/.ssh/id_rsa production
export COMPOSE_TLS_VERSION=TLSv1_2
eval "$(docker-machine env production)"
docker-compose -f production.yml build
docker-compose -f production.yml up -d
любые идеи рядом с go?