tagging build
This commit is contained in:
parent
802b5eb5d1
commit
ccb10db674
|
@ -6,7 +6,9 @@
|
||||||
include_role:
|
include_role:
|
||||||
name: main_software
|
name: main_software
|
||||||
tags:
|
tags:
|
||||||
- chain_vars_update
|
- update_vars
|
||||||
|
- build
|
||||||
|
- deploy
|
||||||
always:
|
always:
|
||||||
- include_role:
|
- include_role:
|
||||||
name: s3
|
name: s3
|
||||||
|
|
|
@ -5,12 +5,16 @@
|
||||||
version: "{{ branch }}"
|
version: "{{ branch }}"
|
||||||
force: true
|
force: true
|
||||||
when: skip_fetch | bool != true
|
when: skip_fetch | bool != true
|
||||||
|
tags:
|
||||||
|
- build
|
||||||
|
|
||||||
- name: Git clean
|
- name: Git clean
|
||||||
command: "git clean -fdx"
|
command: "git clean -fdx"
|
||||||
args:
|
args:
|
||||||
chdir: "/tmp/blockscout-{{ group_names[0] }}-{{ chain }}"
|
chdir: "/tmp/blockscout-{{ group_names[0] }}-{{ chain }}"
|
||||||
when: skip_fetch | bool != true
|
when: skip_fetch | bool != true
|
||||||
|
tags:
|
||||||
|
- build
|
||||||
|
|
||||||
- name: Merge branches
|
- name: Merge branches
|
||||||
command: "git merge {{ merge_commit_item }}"
|
command: "git merge {{ merge_commit_item }}"
|
||||||
|
@ -19,28 +23,38 @@
|
||||||
when: merge_commit_item and not skip_fetch | bool
|
when: merge_commit_item and not skip_fetch | bool
|
||||||
vars:
|
vars:
|
||||||
merge_commit_item: "{{ merge_commit | default(false) }}"
|
merge_commit_item: "{{ merge_commit | default(false) }}"
|
||||||
|
tags:
|
||||||
|
- build
|
||||||
|
|
||||||
- name: Copy web config files
|
- name: Copy web config files
|
||||||
copy:
|
copy:
|
||||||
src: "/tmp/blockscout-{{ group_names[0] }}-{{ chain }}/apps/block_scout_web/config/dev.secret.exs.example"
|
src: "/tmp/blockscout-{{ group_names[0] }}-{{ chain }}/apps/block_scout_web/config/dev.secret.exs.example"
|
||||||
dest: "/tmp/blockscout-{{ group_names[0] }}-{{ chain }}/apps/block_scout_web/config/dev.secret.exs"
|
dest: "/tmp/blockscout-{{ group_names[0] }}-{{ chain }}/apps/block_scout_web/config/dev.secret.exs"
|
||||||
|
tags:
|
||||||
|
- build
|
||||||
|
|
||||||
- name: Template explorer config files
|
- name: Template explorer config files
|
||||||
template:
|
template:
|
||||||
src: dev.secret.exs.j2
|
src: dev.secret.exs.j2
|
||||||
dest: "/tmp/blockscout-{{ group_names[0] }}-{{ chain }}/apps/explorer/config/dev.secret.exs"
|
dest: "/tmp/blockscout-{{ group_names[0] }}-{{ chain }}/apps/explorer/config/dev.secret.exs"
|
||||||
when: ps_user is defined
|
when: ps_user is defined
|
||||||
|
tags:
|
||||||
|
- build
|
||||||
|
|
||||||
- name: Copy default explorer config files
|
- name: Copy default explorer config files
|
||||||
copy:
|
copy:
|
||||||
src: "/tmp/blockscout-{{ group_names[0] }}-{{ chain }}/apps/explorer/config/dev.secret.exs.example"
|
src: "/tmp/blockscout-{{ group_names[0] }}-{{ chain }}/apps/explorer/config/dev.secret.exs.example"
|
||||||
dest: "/tmp/blockscout-{{ group_names[0] }}-{{ chain }}/apps/explorer/config/dev.secret.exs"
|
dest: "/tmp/blockscout-{{ group_names[0] }}-{{ chain }}/apps/explorer/config/dev.secret.exs"
|
||||||
when: ps_user is undefined or ps_user == ""
|
when: ps_user is undefined or ps_user == ""
|
||||||
|
tags:
|
||||||
|
- build
|
||||||
|
|
||||||
- name: Remove static assets from previous deployment, if any
|
- name: Remove static assets from previous deployment, if any
|
||||||
file:
|
file:
|
||||||
path: "/tmp/blockscout-{{ group_names[0] }}-{{ chain }}/apps/block_scout_web/priv/static"
|
path: "/tmp/blockscout-{{ group_names[0] }}-{{ chain }}/apps/block_scout_web/priv/static"
|
||||||
state: absent
|
state: absent
|
||||||
|
tags:
|
||||||
|
- build
|
||||||
|
|
||||||
- name: Fetch environment variables (via access key)
|
- name: Fetch environment variables (via access key)
|
||||||
set_fact:
|
set_fact:
|
||||||
|
@ -49,7 +63,8 @@
|
||||||
path: "/{{ group_names[0] }}/{{ chain }}"
|
path: "/{{ group_names[0] }}/{{ chain }}"
|
||||||
when: aws_access_key is defined
|
when: aws_access_key is defined
|
||||||
tags:
|
tags:
|
||||||
- chain_vars_update
|
- update_vars
|
||||||
|
- build
|
||||||
|
|
||||||
- name: Fetch environment variables (via profile)
|
- name: Fetch environment variables (via profile)
|
||||||
set_fact:
|
set_fact:
|
||||||
|
@ -58,7 +73,8 @@
|
||||||
path: "/{{ group_names[0] }}/{{ chain }}"
|
path: "/{{ group_names[0] }}/{{ chain }}"
|
||||||
when: aws_access_key is undefined
|
when: aws_access_key is undefined
|
||||||
tags:
|
tags:
|
||||||
- chain_vars_update
|
- update_vars
|
||||||
|
- build
|
||||||
|
|
||||||
- name: Make config variables lowercase
|
- name: Make config variables lowercase
|
||||||
set_fact:
|
set_fact:
|
||||||
|
@ -69,12 +85,15 @@
|
||||||
lower_env: {}
|
lower_env: {}
|
||||||
custom_environment_chain: "{{ env_vars | default({}) if env_vars>0 else {} }}"
|
custom_environment_chain: "{{ env_vars | default({}) if env_vars>0 else {} }}"
|
||||||
tags:
|
tags:
|
||||||
- chain_vars_update
|
- update_vars
|
||||||
|
- build
|
||||||
|
|
||||||
- name: Override env variables
|
- name: Override env variables
|
||||||
set_fact:
|
set_fact:
|
||||||
env_compiled: "{{ env_compiled | combine(lower_env) }}"
|
env_compiled: "{{ env_compiled | combine(lower_env) }}"
|
||||||
when: lower_env is defined
|
when: lower_env is defined
|
||||||
|
tags:
|
||||||
|
- build
|
||||||
|
|
||||||
- name: Uppercase chain
|
- name: Uppercase chain
|
||||||
set_fact:
|
set_fact:
|
||||||
|
@ -82,18 +101,20 @@
|
||||||
with_dict: "{{ env_compiled }}"
|
with_dict: "{{ env_compiled }}"
|
||||||
vars:
|
vars:
|
||||||
upper_env: {}
|
upper_env: {}
|
||||||
|
tags:
|
||||||
|
- build
|
||||||
|
|
||||||
- name: Add server port
|
- name: Add server port
|
||||||
set_fact:
|
set_fact:
|
||||||
server_port: "{{ 65535|random(seed=inventory_hostname,start=1024) }}"
|
server_port: "{{ 65535|random(seed=inventory_hostname,start=1024) }}"
|
||||||
|
tags:
|
||||||
|
- build
|
||||||
|
|
||||||
- name: Combine server env
|
- name: Combine server env
|
||||||
set_fact:
|
set_fact:
|
||||||
server_env: "{{ upper_env | combine({'NETWORK_PATH':'/','PORT':server_port}) }}"
|
server_env: "{{ upper_env | combine({'NETWORK_PATH':'/','PORT':server_port}) }}"
|
||||||
|
tags:
|
||||||
- name: Debug
|
- build
|
||||||
debug:
|
|
||||||
var: server_env
|
|
||||||
|
|
||||||
- name: Compile BlockScout
|
- name: Compile BlockScout
|
||||||
command: "mix do {{ item }}"
|
command: "mix do {{ item }}"
|
||||||
|
@ -108,32 +129,44 @@
|
||||||
- ecto.drop
|
- ecto.drop
|
||||||
- ecto.create
|
- ecto.create
|
||||||
- ecto.migrate
|
- ecto.migrate
|
||||||
|
tags:
|
||||||
|
- build
|
||||||
|
|
||||||
- name: Install Node modules at apps/block_scout_web/assets
|
- name: Install Node modules at apps/block_scout_web/assets
|
||||||
environment: "{{ server_env }}"
|
environment: "{{ server_env }}"
|
||||||
command: npm install
|
command: npm install
|
||||||
args:
|
args:
|
||||||
chdir: "/tmp/blockscout-{{ group_names[0] }}-{{ chain }}/apps/block_scout_web/assets"
|
chdir: "/tmp/blockscout-{{ group_names[0] }}-{{ chain }}/apps/block_scout_web/assets"
|
||||||
|
tags:
|
||||||
|
- build
|
||||||
|
|
||||||
- name: Execute webpack.js at apps/block_scout_web/assets/node_modules/webpack/bin
|
- name: Execute webpack.js at apps/block_scout_web/assets/node_modules/webpack/bin
|
||||||
environment: "{{ server_env }}"
|
environment: "{{ server_env }}"
|
||||||
command: node_modules/webpack/bin/webpack.js --mode production
|
command: node_modules/webpack/bin/webpack.js --mode production
|
||||||
args:
|
args:
|
||||||
chdir: "/tmp/blockscout-{{ group_names[0] }}-{{ chain }}/apps/block_scout_web/assets"
|
chdir: "/tmp/blockscout-{{ group_names[0] }}-{{ chain }}/apps/block_scout_web/assets"
|
||||||
|
tags:
|
||||||
|
- build
|
||||||
|
|
||||||
- name: Instal Node modules at apps/explorer
|
- name: Instal Node modules at apps/explorer
|
||||||
environment: "{{ server_env }}"
|
environment: "{{ server_env }}"
|
||||||
command: npm install
|
command: npm install
|
||||||
args:
|
args:
|
||||||
chdir: "/tmp/blockscout-{{ group_names[0] }}-{{ chain }}/apps/explorer"
|
chdir: "/tmp/blockscout-{{ group_names[0] }}-{{ chain }}/apps/explorer"
|
||||||
|
tags:
|
||||||
|
- build
|
||||||
|
|
||||||
- name: Install SSL certificates
|
- name: Install SSL certificates
|
||||||
environment: "{{ server_env }}"
|
environment: "{{ server_env }}"
|
||||||
command: mix phx.gen.cert blockscout blockscout.local
|
command: mix phx.gen.cert blockscout blockscout.local
|
||||||
args:
|
args:
|
||||||
chdir: "/tmp/blockscout-{{ group_names[0] }}-{{ chain }}/apps/block_scout_web"
|
chdir: "/tmp/blockscout-{{ group_names[0] }}-{{ chain }}/apps/block_scout_web"
|
||||||
|
tags:
|
||||||
|
- build
|
||||||
|
|
||||||
- name: Start server
|
- name: Start server
|
||||||
|
tags:
|
||||||
|
- build
|
||||||
block:
|
block:
|
||||||
- name: Start server
|
- name: Start server
|
||||||
command: "mix phx.server"
|
command: "mix phx.server"
|
||||||
|
@ -167,12 +200,16 @@
|
||||||
fail:
|
fail:
|
||||||
msg: "Execution aborted"
|
msg: "Execution aborted"
|
||||||
when: prompt is failed
|
when: prompt is failed
|
||||||
|
tags:
|
||||||
|
- build
|
||||||
|
|
||||||
- name: Build static assets
|
- name: Build static assets
|
||||||
environment: "{{ server_env }}"
|
environment: "{{ server_env }}"
|
||||||
command: mix phx.digest
|
command: mix phx.digest
|
||||||
args:
|
args:
|
||||||
chdir: "/tmp/blockscout-{{ group_names[0] }}-{{ chain }}"
|
chdir: "/tmp/blockscout-{{ group_names[0] }}-{{ chain }}"
|
||||||
|
tags:
|
||||||
|
- build
|
||||||
|
|
||||||
- name: User prompt
|
- name: User prompt
|
||||||
pause:
|
pause:
|
||||||
|
@ -184,6 +221,8 @@
|
||||||
vars:
|
vars:
|
||||||
conditional: ['yes','no','true','false']
|
conditional: ['yes','no','true','false']
|
||||||
when: inventory_hostname == groups['all'][0]
|
when: inventory_hostname == groups['all'][0]
|
||||||
|
tags:
|
||||||
|
- build
|
||||||
|
|
||||||
- name: Remove dev dependencies
|
- name: Remove dev dependencies
|
||||||
file:
|
file:
|
||||||
|
@ -196,20 +235,28 @@
|
||||||
- "/tmp/blockscout-{{ group_names[0] }}-{{ chain }}/apps/explorer/node_modules/"
|
- "/tmp/blockscout-{{ group_names[0] }}-{{ chain }}/apps/explorer/node_modules/"
|
||||||
- "/tmp/blockscout-{{ group_names[0] }}-{{ chain }}/logs/dev/"
|
- "/tmp/blockscout-{{ group_names[0] }}-{{ chain }}/logs/dev/"
|
||||||
when: hostvars[groups['all'][0]].user_answer.user_input | lower | bool
|
when: hostvars[groups['all'][0]].user_answer.user_input | lower | bool
|
||||||
|
tags:
|
||||||
|
- build
|
||||||
|
|
||||||
- name: Fix bug with favicon
|
- name: Fix bug with favicon
|
||||||
replace:
|
replace:
|
||||||
regexp: '\"favicon\.ico\"\:\"favicon-[a-z0-9]+?\.ico\"'
|
regexp: '\"favicon\.ico\"\:\"favicon-[a-z0-9]+?\.ico\"'
|
||||||
replace: '"images/favicon.ico":"favicon.ico"'
|
replace: '"images/favicon.ico":"favicon.ico"'
|
||||||
path: "/tmp/blockscout-{{ group_names[0] }}-{{ chain }}/apps/block_scout_web/priv/static/cache_manifest.json"
|
path: "/tmp/blockscout-{{ group_names[0] }}-{{ chain }}/apps/block_scout_web/priv/static/cache_manifest.json"
|
||||||
|
tags:
|
||||||
|
- build
|
||||||
|
|
||||||
- name: Upload Blockscout to S3
|
- name: Upload Blockscout to S3
|
||||||
command: "{{ 'AWS_ACCESS_KEY='~aws_access_key~' AWS_SECRET_ACCESS_KEY='~aws_secret_key~' AWS_DEFAULT_REGION='~aws_region if aws_profile is undefined else '' }} aws deploy push --application-name={{ group_names[0] }}-explorer --s3-location s3://{{ group_names[0] }}-explorer-codedeploy-releases/blockscout-{{ group_names[0] }}-{{ chain }}.zip --source=/tmp/blockscout-{{ group_names[0] }}-{{ chain }} {{ '--profile='~aws_profile if aws_profile is defined else '' }}"
|
command: "{{ 'AWS_ACCESS_KEY='~aws_access_key~' AWS_SECRET_ACCESS_KEY='~aws_secret_key~' AWS_DEFAULT_REGION='~aws_region if aws_profile is undefined else '' }} aws deploy push --application-name={{ group_names[0] }}-explorer --s3-location s3://{{ group_names[0] }}-explorer-codedeploy-releases/blockscout-{{ group_names[0] }}-{{ chain }}.zip --source=/tmp/blockscout-{{ group_names[0] }}-{{ chain }} {{ '--profile='~aws_profile if aws_profile is defined else '' }}"
|
||||||
register: push_output
|
register: push_output
|
||||||
|
tags:
|
||||||
|
- deploy
|
||||||
|
|
||||||
- name: Upload output
|
- name: Upload output
|
||||||
debug:
|
debug:
|
||||||
msg: "If deployment will fail, you can try to deploy blockscout manually using the following commands: {{ 'AWS_ACCESS_KEY=XXXXXXXXXXXXXX AWS_SECRET_ACCESS_KEY=XXXXXXXXXXXX AWS_DEFAULT_REGION='~aws_region if aws_profile is undefined else '' }} {{ push_output.stdout_lines }} {{ '--profile='~aws_profile if aws_profile is defined else '' }}"
|
msg: "If deployment will fail, you can try to deploy blockscout manually using the following commands: {{ 'AWS_ACCESS_KEY=XXXXXXXXXXXXXX AWS_SECRET_ACCESS_KEY=XXXXXXXXXXXX AWS_DEFAULT_REGION='~aws_region if aws_profile is undefined else '' }} {{ push_output.stdout_lines }} {{ '--profile='~aws_profile if aws_profile is defined else '' }}"
|
||||||
|
tags:
|
||||||
|
- deploy
|
||||||
|
|
||||||
- name: User prompt
|
- name: User prompt
|
||||||
pause:
|
pause:
|
||||||
|
@ -222,7 +269,7 @@
|
||||||
conditional: ['yes','no','true','false']
|
conditional: ['yes','no','true','false']
|
||||||
when: inventory_hostname == groups['all'][0]
|
when: inventory_hostname == groups['all'][0]
|
||||||
tags:
|
tags:
|
||||||
- chain_vars_update
|
- update_vars
|
||||||
|
|
||||||
- name: Update chain variables
|
- name: Update chain variables
|
||||||
aws_ssm_parameter_store:
|
aws_ssm_parameter_store:
|
||||||
|
@ -240,7 +287,7 @@
|
||||||
with_dict: "{{ lower_env }}"
|
with_dict: "{{ lower_env }}"
|
||||||
when: hostvars[groups['all'][0]].user_answer.user_input | lower | bool
|
when: hostvars[groups['all'][0]].user_answer.user_input | lower | bool
|
||||||
tags:
|
tags:
|
||||||
- chain_vars_update
|
- update_vars
|
||||||
|
|
||||||
- name: User prompt
|
- name: User prompt
|
||||||
pause:
|
pause:
|
||||||
|
@ -252,7 +299,12 @@
|
||||||
vars:
|
vars:
|
||||||
conditional: ['yes','no','true','false']
|
conditional: ['yes','no','true','false']
|
||||||
when: inventory_hostname == groups['all'][0]
|
when: inventory_hostname == groups['all'][0]
|
||||||
|
tags:
|
||||||
|
- deploy
|
||||||
|
|
||||||
- name: Deploy Blockscout
|
- name: Deploy Blockscout
|
||||||
command: "{{ 'AWS_ACCESS_KEY='~aws_access_key~' AWS_SECRET_ACCESS_KEY='~aws_secret_key~' AWS_DEFAULT_REGION='~aws_region if aws_profile is undefined else '' }} {{ push_output.stdout_lines[1] }} --deployment-group-name {{ group_names[0] }}-explorer-dg{{ groups[group_names[0]].index(inventory_hostname) }} --deployment-config-name CodeDeployDefault.OneAtATime {{ '--profile='~aws_profile if aws_profile is defined else '' }}"
|
command: "{{ 'AWS_ACCESS_KEY='~aws_access_key~' AWS_SECRET_ACCESS_KEY='~aws_secret_key~' AWS_DEFAULT_REGION='~aws_region if aws_profile is undefined else '' }} {{ push_output.stdout_lines[1] }} --deployment-group-name {{ group_names[0] }}-explorer-dg{{ groups[group_names[0]].index(inventory_hostname) }} --deployment-config-name CodeDeployDefault.OneAtATime {{ '--profile='~aws_profile if aws_profile is defined else '' }}"
|
||||||
when: hostvars[groups['all'][0]].user_answer.user_input | lower | bool
|
when: hostvars[groups['all'][0]].user_answer.user_input | lower | bool
|
||||||
|
tags:
|
||||||
|
- deploy
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue