diff --git a/deploy_api.yml b/deploy_api.yml index 8f7dca8..eecc53f 100644 --- a/deploy_api.yml +++ b/deploy_api.yml @@ -1,7 +1,12 @@ --- - name: Deploy api hosts: application - vars_files: - - roles/koodiklinikka.fi-api/defaults/main.yml tasks: - - include: roles/koodiklinikka.fi-api/tasks/main.yml + - { include: roles/deploy/tasks/deploy.yml, + container_name: koodiklinikka.fi-api, + repository_url: 'git@github.com:koodiklinikka/koodiklinikka.fi-api.git', + port: 9000, + app_path: /opt/web/koodiklinikka.fi-api, + user: web } + + diff --git a/deploy_front.yml b/deploy_front.yml index 90facbf..a691c10 100644 --- a/deploy_front.yml +++ b/deploy_front.yml @@ -1,7 +1,12 @@ --- - name: Deploy front hosts: application - vars_files: - - roles/koodiklinikka.fi-front/defaults/main.yml tasks: - - include: roles/koodiklinikka.fi-front/tasks/main.yml + - { include: roles/deploy/tasks/deploy.yml, + container_name: koodiklinikka.fi-front, + repository_url: 'git@github.com:koodiklinikka/koodiklinikka.fi.git', + port: 8000, + app_path: /opt/web/koodiklinikka.fi-front, + user: web } + + diff --git a/deploy_tohtori.yml b/deploy_tohtori.yml index 9287fad..d67915e 100644 --- a/deploy_tohtori.yml +++ b/deploy_tohtori.yml @@ -1,7 +1,12 @@ --- - name: Deploy tohtori hosts: application - vars_files: - - roles/tohtori/defaults/main.yml tasks: - - include: roles/tohtori/tasks/build.yml + - { include: roles/deploy/tasks/deploy.yml, + container_name: tohtori, + repository_url: 'git@github.com:koodiklinikka/tohtori.git', + port: 6666, + app_path: /opt/tohtori/tohtori, + user: web } + + diff --git a/roles/koodiklinikka.fi-front/tasks/main.yml b/roles/deploy/tasks/deploy.yml similarity index 61% rename from roles/koodiklinikka.fi-front/tasks/main.yml rename to roles/deploy/tasks/deploy.yml index 263d526..05357fe 100644 --- a/roles/koodiklinikka.fi-front/tasks/main.yml +++ b/roles/deploy/tasks/deploy.yml @@ -1,36 +1,36 @@ --- - name: Deploy client from git - remote_user: "{{ koodiklinikka_user }}" + remote_user: "{{ user }}" action: > git - repo="{{ koodiklinikka_repository_url }}" - dest="{{ koodiklinikka_app_path }}" + repo="{{ repository_url }}" + dest="{{ app_path }}" accept_hostkey=True sudo: no register: gitclone - name: get previous container - shell: docker images|grep {{ koodiklinikka_container_name }}|grep latest| awk '{print $3}' + shell: docker images|grep {{ container_name }}|grep latest| awk '{print $3}' register: current_image_sha -- name: Build {{ koodiklinikka_container_name }} +- name: Build {{ container_name }} shell: ./build_docker args: - chdir: "{{ koodiklinikka_app_path}}" + chdir: "{{ app_path}}" sudo: yes when: gitclone.changed register: container - name: tag previous version - shell: docker tag -f {{ current_image_sha.stdout }} {{ koodiklinikka_container_name }}:old + shell: docker tag -f {{ current_image_sha.stdout }} {{ container_name }}:old when: container is defined and container.changed and current_image_sha.stdout != "" - name: get running container - shell: docker ps |grep {{ koodiklinikka_container_name }}| awk '{print $1}' + shell: docker ps |grep {{ container_name }}| awk '{print $1}' register: current_container_id - name: kill old version - shell: docker stop {{ koodiklinikka_container_name }} + shell: docker stop {{ container_name }} when: container is defined and container.changed and current_container_id.stdout != "" - name: get old containers @@ -42,7 +42,7 @@ when: old_containers.stdout != "" - name: Start the container - shell: docker run --restart=always -p 127.0.0.1:{{ koodiklinikka_port }}:{{ koodiklinikka_port }} -d --name {{ koodiklinikka_container_name }} {{ koodiklinikka_container_name }}:latest + shell: docker run --restart=always -p 127.0.0.1:{{ port }}:{{ port }} -d --name {{ container_name }} {{ container_name }}:latest when: container is defined and container.changed - name: get old images diff --git a/roles/koodiklinikka.fi-front/tasks/rollback.yml b/roles/deploy/tasks/rollback.yml similarity index 61% rename from roles/koodiklinikka.fi-front/tasks/rollback.yml rename to roles/deploy/tasks/rollback.yml index 0a30408..c306e77 100644 --- a/roles/koodiklinikka.fi-front/tasks/rollback.yml +++ b/roles/deploy/tasks/rollback.yml @@ -1,11 +1,11 @@ --- - name: get running container - shell: docker ps -a|grep {{ koodiklinikka_container_name }}|grep latest| awk '{print $1}' + shell: docker ps -a|grep {{ container_name }}|grep latest| awk '{print $1}' register: current_container_id - name: kill old version - shell: docker stop {{ koodiklinikka_container_name }} + shell: docker stop {{ container_name }} when: current_container_id != "" - name: get old containers @@ -17,5 +17,5 @@ when: old_containers.stdout != "" - name: Start the container - shell: docker run -d --name {{ koodiklinikka_container_name }} {{ koodiklinikka_container_name }}:old + shell: docker run -d --name {{ container_name }} {{ container_name }}:old diff --git a/roles/koodiklinikka.fi-api/defaults/main.yml b/roles/koodiklinikka.fi-api/defaults/main.yml deleted file mode 100644 index ad1136b..0000000 --- a/roles/koodiklinikka.fi-api/defaults/main.yml +++ /dev/null @@ -1,7 +0,0 @@ ---- -koodiklinikka_api_container_name: koodiklinikka.fi-api -koodiklinikka_api_repository_url: git@github.com:koodiklinikka/koodiklinikka.fi-api.git -koodiklinikka_api_port: 9000 - -koodiklinikka_api_app_path: /opt/web/koodiklinikka.fi-api -koodiklinikka_api_user: web diff --git a/roles/koodiklinikka.fi-api/tasks/main.yml b/roles/koodiklinikka.fi-api/tasks/main.yml deleted file mode 100644 index 90adf38..0000000 --- a/roles/koodiklinikka.fi-api/tasks/main.yml +++ /dev/null @@ -1,56 +0,0 @@ ---- - -- name: Deploy client from git - remote_user: "{{ koodiklinikka_api_user }}" - action: > - git - repo="{{ koodiklinikka_api_repository_url }}" - dest="{{ koodiklinikka_api_app_path }}" - accept_hostkey=True - sudo: no - register: gitclone - -- name: get previous container - shell: docker images|grep {{ koodiklinikka_api_container_name }}|grep latest| awk '{print $3}' - register: current_image_sha - -- name: Build {{ koodiklinikka_api_container_name }} - shell: ./build_docker /opt - args: - chdir: "{{ koodiklinikka_api_app_path}}" - sudo: yes - when: gitclone.changed - register: container - -- name: tag previous version - shell: docker tag -f {{ current_image_sha.stdout }} {{ koodiklinikka_api_container_name }}:old - when: container is defined and container.changed and current_image_sha.stdout != "" - -- name: get running container - shell: docker ps |grep {{ koodiklinikka_api_container_name }}| awk '{print $1}' - register: current_container_id - -- name: kill old version - shell: docker stop {{ koodiklinikka_api_container_name }} - when: container is defined and container.changed and current_container_id.stdout != "" - -- name: get old containers - shell: docker ps -a|grep Exited| awk '{print $1}' - register: old_containers - -- name: clean old containers - shell: docker rm $(docker ps -a|grep Exited| awk '{print $1}') - when: old_containers.stdout != "" - -- name: Start the container - shell: docker run --restart=always -p 127.0.0.1:{{ koodiklinikka_api_port }}:{{ koodiklinikka_api_port }} -d --name {{ koodiklinikka_api_container_name }} {{ koodiklinikka_api_container_name }}:latest - when: container is defined and container.changed - -- name: get old images - shell: docker images | grep "^" | awk '{print $3}' - register: old_images - -- name: clean untagged (old) images - shell: docker rmi $(docker images -a | grep "^" | awk '{print $3}') - when: old_images.stdout != "" - ignore_errors: yes diff --git a/roles/koodiklinikka.fi-api/tasks/rollback.yml b/roles/koodiklinikka.fi-api/tasks/rollback.yml deleted file mode 100644 index 91ce8ec..0000000 --- a/roles/koodiklinikka.fi-api/tasks/rollback.yml +++ /dev/null @@ -1,21 +0,0 @@ ---- - -- name: get running container - shell: docker ps -a|grep {{ koodiklinikka_api_container_name }}|grep latest| awk '{print $1}' - register: current_container_id - -- name: kill old version - shell: docker stop {{ koodiklinikka_api_container_name }} - when: current_container_id != "" - -- name: get old containers - shell: docker ps -a|grep Exited| awk '{print $1}' - register: old_containers - -- name: clean old containers - shell: docker rm $(docker ps -a|grep Exited| awk '{print $1}') - when: old_containers.stdout != "" - -- name: Start the container - shell: docker run -d --name {{ koodiklinikka_api_container_name }} {{ koodiklinikka_api_container_name }}:old - diff --git a/roles/koodiklinikka.fi-front/defaults/main.yml b/roles/koodiklinikka.fi-front/defaults/main.yml deleted file mode 100644 index 1a7bf14..0000000 --- a/roles/koodiklinikka.fi-front/defaults/main.yml +++ /dev/null @@ -1,9 +0,0 @@ ---- -koodiklinikka_container_name: koodiklinikka.fi-front -koodiklinikka_repository_url: git@github.com:koodiklinikka/koodiklinikka.fi.git -koodiklinikka_port: 8000 - -koodiklinikka_app_path: /opt/web/koodiklinikka.fi-front -koodiklinikka_nvm_script: /opt/web/nvm/nvm.sh -koodiklinikka_user: web - diff --git a/roles/tohtori/defaults/main.yml b/roles/tohtori/defaults/main.yml deleted file mode 100644 index e94f97a..0000000 --- a/roles/tohtori/defaults/main.yml +++ /dev/null @@ -1,7 +0,0 @@ ---- -koodiklinikka_tohtori_project_name: tohtori -koodiklinikka_tohtori_client_repo: git@github.com:koodiklinikka/tohtori.git -koodiklinikka_tohtori_user: web -koodiklinikka_tohtori_app_path: /opt/tohtori/tohtori - -koodiklinikka_tohtori_container_name: tohtori_bot diff --git a/roles/tohtori/tasks/build.yml b/roles/tohtori/tasks/build.yml deleted file mode 100644 index fbb0f03..0000000 --- a/roles/tohtori/tasks/build.yml +++ /dev/null @@ -1,56 +0,0 @@ ---- - -- name: Deploy client from git - remote_user: "{{ koodiklinikka_tohtori_user }}" - action: > - git - repo="{{ koodiklinikka_tohtori_client_repo }}" - dest="{{ koodiklinikka_tohtori_app_path }}" - accept_hostkey=True - sudo: no - register: gitclone - -- name: get previous container - shell: docker images|grep {{ koodiklinikka_tohtori_container_name }}|grep latest| awk '{print $3}' - register: current_image_sha - -- name: Build {{ koodiklinikka_tohtori_container_name }} - shell: ./build_docker /opt - args: - chdir: "{{ koodiklinikka_tohtori_app_path}}/script" - sudo: yes - when: gitclone.changed - register: container - -- name: tag previous version - shell: docker tag -f {{ current_image_sha.stdout }} {{ koodiklinikka_tohtori_container_name }}:old - when: container is defined and container.changed and current_image_sha.stdout != "" - -- name: get running container - shell: docker ps |grep {{ koodiklinikka_tohtori_container_name }}| awk '{print $1}' - register: current_container_id - -- name: kill old version - shell: docker stop {{ koodiklinikka_tohtori_container_name }} - when: container is defined and container.changed and current_container_id.stdout != "" - -- name: get old containers - shell: docker ps -a|grep Exited| awk '{print $1}' - register: old_containers - -- name: clean old containers - shell: docker rm $(docker ps -a|grep Exited| awk '{print $1}') - when: old_containers.stdout != "" - -- name: Start the container - shell: docker run --restart=always -d --name {{ koodiklinikka_tohtori_container_name }} {{ koodiklinikka_tohtori_container_name }}:latest - when: container is defined and container.changed - -- name: get old images - shell: docker images | grep "^" | awk '{print $3}' - register: old_images - -- name: clean untagged (old) images - shell: docker rmi $(docker images -a | grep "^" | awk '{print $3}') - when: old_images.stdout != "" - ignore_errors: yes diff --git a/roles/tohtori/tasks/main.yml b/roles/tohtori/tasks/main.yml deleted file mode 100644 index 714c900..0000000 --- a/roles/tohtori/tasks/main.yml +++ /dev/null @@ -1,3 +0,0 @@ ---- -- include: tohtori_user.yml -- include: build.yml diff --git a/roles/tohtori/tasks/rollback.yml b/roles/tohtori/tasks/rollback.yml deleted file mode 100644 index b17053c..0000000 --- a/roles/tohtori/tasks/rollback.yml +++ /dev/null @@ -1,21 +0,0 @@ ---- - -- name: get running container - shell: docker ps -a|grep {{ koodiklinikka_tohtori_container_name }}|grep latest| awk '{print $1}' - register: current_container_id - -- name: kill old version - shell: docker stop {{ koodiklinikka_tohtori_container_name }} - when: current_container_id != "" - -- name: get old containers - shell: docker ps -a|grep Exited| awk '{print $1}' - register: old_containers - -- name: clean old containers - shell: docker rm $(docker ps -a|grep Exited| awk '{print $1}') - when: old_containers.stdout != "" - -- name: Start the container - shell: docker run -d --name {{ koodiklinikka_tohtori_container_name }} {{ koodiklinikka_tohtori_container_name }}:old - diff --git a/roles/tohtori/tasks/tohtori_user.yml b/roles/tohtori/tasks/tohtori_user.yml deleted file mode 100644 index b222b7d..0000000 --- a/roles/tohtori/tasks/tohtori_user.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -- name: Create tohtori user - sudo: true - user: name=tohtori home=/opt/tohtori password=$1$U7pTMako$SY19s1PIxdD2NCFgM0LQr0 - diff --git a/rollback_api.yml b/rollback_api.yml index 10a9185..82ba262 100644 --- a/rollback_api.yml +++ b/rollback_api.yml @@ -1,7 +1,7 @@ --- - name: Rollback api hosts: application - vars_files: - - roles/koodiklinikka.fi-api/defaults/main.yml tasks: - - include: roles/koodiklinikka.fi-api/tasks/rollback.yml + - { include: roles/deploy/tasks/rollback.yml, + container_name: koodiklinikka.fi-api + } diff --git a/rollback_front.yml b/rollback_front.yml index 59119bc..190c295 100644 --- a/rollback_front.yml +++ b/rollback_front.yml @@ -1,7 +1,7 @@ --- - name: Rollback front hosts: application - vars_files: - - roles/koodiklinikka.fi-front/defaults/main.yml tasks: - - include: roles/koodiklinikka.fi-front/tasks/rollback.yml + - { include: roles/deploy/tasks/rollback.yml, + container_name: koodiklinikka.fi-front + } diff --git a/rollback_tohtori.yml b/rollback_tohtori.yml index 77a7881..b6ccf38 100644 --- a/rollback_tohtori.yml +++ b/rollback_tohtori.yml @@ -1,7 +1,7 @@ --- - name: Rollback tohtori hosts: application - vars_files: - - roles/tohtori/defaults/main.yml tasks: - - include: roles/tohtori/tasks/rollback.yml + - { include: roles/deploy/tasks/rollback.yml, + container_name: tohtori + }