1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
OTA deployment
over-the-air deployment
Over-the-Air programming
OTA
    Refers to various methods of distributing
    new software, configuration settings, and
    even updating encryption keys to devices
    like mobile phones, set-top boxes or
    secure voice communication equipment
    (encrypted 2-way radios).

codeship
    A fast and secure hosted CI service that
    scales with your needs.

    It supports GitHub, Bitbucket, and Gitlab
    projects.
service blue green deployment canarying
octopus Yes Yes

Octopus Deploy Server

Play around with a fake octopus server

1
docker-machine run 2019-box docker pull octopusdeploy/octopusdeploy

this is how to run it

How to get the host network to work?

1
docker-machine run 2019-box docker run --rm --network=host -ti octopusdeploy/octopusdeploy:latest

This works but I get a setup error

1
2
3
4
5
6
my-docker machine run 2019-box docker rm OctopusDeploy || :
my-docker machine run 2019-box docker run --name OctopusDeploy \
   --publish 8005:8080 \
   --env ACCEPT_EULA="Y" \
   --env DB_CONNECTION_STRING="..." \
   octopusdeploy/octopusdeploy
1
my-docker machine run 2019-box docker start OctopusDeploy

Set up tentacle (keys, etc)

https://octopus.com/docs/infrastructure/deployment-targets/linux/tentacle#automation-scripts

Docker compose

Link to compose file
https://hub.docker.com/r/octopusdeploy/octopusdeploy

This requires a windows docker machine.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
version: '2.1'
services:
   db:
    image: ${SQL_IMAGE}
    environment:
      SA_PASSWORD: ${SA_PASSWORD}
      ACCEPT_EULA: ${ACCEPT_EULA}
    ports:
      - 1401:1433
    healthcheck:
      test: [ "CMD", "/opt/mssql-tools/bin/sqlcmd", "-U", "sa", "-P", "${SA_PASSWORD}", "-Q", "select 1"]
      interval: 10s
      retries: 10
   octopus-server:
    image: octopusdeploy/octopusdeploy:${OCTOPUS_SERVER_TAG}
    environment:
      ACCEPT_EULA: ${ACCEPT_OCTOPUS_EULA}
      OCTOPUS_SERVER_NODE_NAME: ${OCTOPUS_SERVER_NODE_NAME}
      DB_CONNECTION_STRING: ${DB_CONNECTION_STRING}
      ADMIN_USERNAME: ${ADMIN_USERNAME}
      ADMIN_PASSWORD: ${ADMIN_PASSWORD}
      ADMIN_EMAIL: ${ADMIN_EMAIL}
      OCTOPUS_SERVER_BASE64_LICENSE: ${OCTOPUS_SERVER_BASE64_LICENSE}
      MASTER_KEY: ${MASTER_KEY}
      ADMIN_API_KEY: ${ADMIN_API_KEY}
    ports:
      - 80:8080
    depends_on:
      db:
        condition: service_healthy
networks:
  default:
    external:
      name: nat