Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
C
configuration
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
edx
configuration
Commits
8a9b9e6a
Commit
8a9b9e6a
authored
Jun 24, 2013
by
John Jarvis
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
move handlers to deploy.yml
parent
5405e56d
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
232 additions
and
236 deletions
+232
-236
playbooks/roles/edxapp/handlers/main.yml
+2
-231
playbooks/roles/edxapp/tasks/deploy.yml
+230
-5
No files found.
playbooks/roles/edxapp/handlers/main.yml
View file @
8a9b9e6a
...
...
@@ -29,240 +29,11 @@
-
install
-
deploy
# Ruby plays that need to be run after platform updates.
-
name
:
gem | gem install bundler
shell
:
RBENV_ROOT={{ rbenv_root }} GEM_HOME={{ gem_home }} {{ rbenv_root }}/shims/gem install bundle chdir={{ edx_platform_code_dir }}
tags
:
-
ruby
-
deploy
-
install
-
name
:
bundle | bundle install
shell
:
RBENV_ROOT={{ rbenv_root }} GEM_HOME={{ gem_home }} {{ gem_home }}/bin/bundle install --binstubs chdir={{ edx_platform_code_dir }}
tags
:
-
ruby
-
deploy
-
install
# Node play that need to be run after platform updates.
-
name
:
Install edx-platform npm dependencies
shell
:
npm install chdir={{ edx_platform_code_dir }}
tags
:
-
npm
-
update
-
deploy
# Python plays that need to be run after platform updates.
# Install the python pre requirements into {{ venv_dir }}
-
name
:
install python pre-requirements
pip
:
requirements="{{pre_requirements_file}}" virtualenv="{{venv_dir}}" state=present
tags
:
-
lms
-
cms
-
install
-
deploy
# Install the python modules into {{ venv_dir }}
-
name
:
install python base-requirements
# Need to use shell rather than pip so that we can maintain the context of our current working directory; some
# requirements are pathed relative to the edx-platform repo. Using the pip from inside the virtual environment implicitly
# installs everything into that virtual environment.
shell
:
cd {{ edx_platform_code_dir }} && {{ venv_dir }}/bin/pip install --use-mirrors -r {{ base_requirements_file }}
tags
:
-
lms
-
cms
-
install
-
deploy
# Install the python post requirements into {{ venv_dir }}
-
name
:
install python post-requirements
pip
:
requirements="{{post_requirements_file}}" virtualenv="{{venv_dir}}" state=present
tags
:
-
lms
-
cms
-
install
-
deploy
# Install the final python modules into {{ venv_dir }}
-
name
:
install python post-post requirements
# Need to use shell rather than pip so that we can maintain the context of our current working directory; some
# requirements are pathed relative to the edx-platform repo. Using the pip from inside the virtual environment implicitly
# installs everything into that virtual environment.
shell
:
cd {{ edx_platform_code_dir }} && {{ venv_dir }}/bin/pip install --use-mirrors -r {{ item }}
with_items
:
-
"
{{
repo_requirements_file
}}"
-
"
{{
github_requirements_file
}}"
-
"
{{
local_requirements_file
}}"
-
name
:
restart edxapp
service
:
name=edxapp state=restarted
tags
:
-
lms
-
cms
-
install
-
deploy
# This check needs to be run to see if rake can be used but its failure should not stop the run.
-
name
:
check if rake gather_assets is available
shell
:
executable=/bin/bash chdir={{ edx_platform_code_dir }} rake -T | grep gather_assets
environment
:
"
{{
deploy_environment
}}"
register
:
grep_gather_assets
ignore_errors
:
yes
tags
:
-
lms
-
lms-preview
-
lms-xml
-
cms
-
deploy
-
name
:
check if django can collect lms static data
shell
:
SERVICE_VARIANT={{ lms_variant }} django-admin.py help collectstatic --pythonpath={{ edx_platform_code_dir }} --settings=lms.envs.aws
register
:
check_lms_collect_static
sudo
:
yes
sudo_user
:
www-data
environment
:
"
{{
deploy_environment
}}"
tags
:
-
lms
-
lms-preview
-
lms-xml
-
deploy
-
name
:
check if django can collect cms static data
shell
:
SERVICE_VARIANT={{ lms_variant }} django-admin.py help collectstatic --pythonpath={{ edx_platform_code_dir }} --settings=cms.envs.aws
register
:
check_cms_collect_static
sudo
:
yes
sudo_user
:
www-data
environment
:
"
{{
deploy_environment
}}"
tags
:
-
cms
-
deploy
-
name
:
check if django can update cms templates
shell
:
SERVICE_VARIANT={{ cms_variant }} django-admin.py help update_templates --pythonpath={{ edx_platform_code_dir }} --settings=cms.envs.aws
register
:
check_cms_update_templates
sudo
:
yes
sudo_user
:
www-data
environment
:
"
{{
deploy_environment
}}"
tags
:
-
cms
-
deploy
# Gather lms assets using rake if possible
-
name
:
gather lms static assets with rake
shell
:
executable=/bin/bash chdir={{ edx_platform_code_dir }} SERVICE_VARIANT={{ lms_variant }} rake lms:gather_assets:aws
when
:
grep_gather_assets.rc == 0
notify
:
-
stop edxapp
-
start edxapp
sudo
:
yes
sudo_user
:
www-data
environment
:
"
{{
deploy_environment
}}"
tags
:
-
lms
-
lms-preview
-
lms-xml
-
deploy
# Gather lms assets using django if necessary(When rake doesn't know how)
-
name
:
gather lms static assets with django
shell
:
SERVICE_VARIANT={{ lms_variant }} django-admin.py collectstatic --pythonpath={{ edx_platform_code_dir }} --settings=lms.envs.aws --noinput --verbosity=0
when
:
grep_gather_assets.rc != 0 and check_lms_collect_static.rc == 0
notify
:
-
stop edxapp
-
start edxapp
sudo
:
yes
sudo_user
:
www-data
environment
:
"
{{
deploy_environment
}}"
tags
:
-
lms
-
lms-preview
-
lms-xml
-
deploy
# Gather cms assets using rake if possible
-
name
:
gather cms static assets with rake
# script: gather_assets.sh
shell
:
executable=/bin/bash chdir={{ edx_platform_code_dir }} SERVICE_VARIANT={{ cms_variant }} rake cms:gather_assets:aws
when
:
grep_gather_assets.rc == 0
notify
:
-
stop edxapp
-
start edxapp
sudo
:
yes
sudo_user
:
www-data
environment
:
"
{{
deploy_environment
}}"
tags
:
-
cms
-
deploy
-
name
:
gather cms static assets with django
shell
:
SERVICE_VARIANT={{ cms_variant }} django-admin.py collectstatic --pythonpath={{ edx_platform_code_dir }} --settings=lms.envs.aws --noinput --verbosity=0
when
:
grep_gather_assets.rc != 0 and check_cms_collect_static.rc == 0
notify
:
-
stop edxapp
-
start edxapp
sudo
:
yes
sudo_user
:
www-data
environment
:
"
{{
deploy_environment
}}"
tags
:
-
cms
-
deploy
-
name
:
update cms templates
shell
:
SERVICE_VARIANT={{ cms_variant }} django-admin.py update_templates --pythonpath={{ edx_platform_code_dir }} --settings=cms.envs.aws
when
:
check_cms_update_templates.rc == 0
notify
:
-
stop edxapp
-
start edxapp
sudo
:
yes
sudo_user
:
www-data
environment
:
"
{{
deploy_environment
}}"
tags
:
-
cms
-
deploy
# Add failure checks for if no static assets were deployed.
-
name
:
lms asset static failure check
shell
:
/bin/false
when
:
grep_gather_assets.rc != 0 and check_lms_collect_static.rc != 0
tags
:
-
lms
-
lms-preview
-
lms-xml
-
deploy
-
name
:
cms asset static failure check
shell
:
/bin/false
when
:
grep_gather_assets.rc != 0 and check_cms_collect_static.rc != 0
tags
:
-
cms
-
deploy
-
name
:
syncdb and migrate
shell
:
sudo -u www-data SERVICE_VARIANT=lms /opt/edx/bin/django-admin.py syncdb --migrate --noinput --settings=lms.envs.aws --pythonpath=/opt/wwc/edx-platform
when
:
migrate_db is defined
tags
:
-
deploy
-
lms
-
lms-xml
-
lms-preview
-
cms
-
syncdb
-
name
:
stop edxapp
service
:
name=edxapp state=stopped
tags
:
-
lms
-
lms-xml
-
lms-preview
-
cms
-
deploy
-
name
:
start edxapp
service
:
name=edxapp state=started
tags
:
-
lms
-
lms-xml
-
lms-preview
-
cms
-
deploy
playbooks/roles/edxapp/tasks/deploy.yml
View file @
8a9b9e6a
...
...
@@ -50,13 +50,238 @@
-
install
-
deploy
# want deploy handlers to always run when deploy tag is specified, so move into a no op task
-
name
:
run deploy handlers
shell
:
echo "running deploy handlers"
notify
:
-
invoke all deploy handlers
# Ruby plays that need to be run after platform updates.
-
name
:
gem | gem install bundler
shell
:
RBENV_ROOT={{ rbenv_root }} GEM_HOME={{ gem_home }} {{ rbenv_root }}/shims/gem install bundle chdir={{ edx_platform_code_dir }}
tags
:
-
ruby
-
deploy
-
install
-
name
:
bundle | bundle install
shell
:
RBENV_ROOT={{ rbenv_root }} GEM_HOME={{ gem_home }} {{ gem_home }}/bin/bundle install --binstubs chdir={{ edx_platform_code_dir }}
tags
:
-
ruby
-
deploy
-
install
# Node play that need to be run after platform updates.
-
name
:
Install edx-platform npm dependencies
shell
:
npm install chdir={{ edx_platform_code_dir }}
tags
:
-
npm
-
update
-
deploy
# Python plays that need to be run after platform updates.
# Install the python pre requirements into {{ venv_dir }}
-
name
:
install python pre-requirements
pip
:
requirements="{{pre_requirements_file}}" virtualenv="{{venv_dir}}" state=present
tags
:
-
lms
-
cms
-
install
-
deploy
# Install the python modules into {{ venv_dir }}
-
name
:
install python base-requirements
# Need to use shell rather than pip so that we can maintain the context of our current working directory; some
# requirements are pathed relative to the edx-platform repo. Using the pip from inside the virtual environment implicitly
# installs everything into that virtual environment.
shell
:
cd {{ edx_platform_code_dir }} && {{ venv_dir }}/bin/pip install --use-mirrors -r {{ base_requirements_file }}
tags
:
-
lms
-
cms
-
install
-
deploy
# Install the python post requirements into {{ venv_dir }}
-
name
:
install python post-requirements
pip
:
requirements="{{post_requirements_file}}" virtualenv="{{venv_dir}}" state=present
tags
:
-
lms
-
cms
-
install
-
deploy
# Install the final python modules into {{ venv_dir }}
-
name
:
install python post-post requirements
# Need to use shell rather than pip so that we can maintain the context of our current working directory; some
# requirements are pathed relative to the edx-platform repo. Using the pip from inside the virtual environment implicitly
# installs everything into that virtual environment.
shell
:
cd {{ edx_platform_code_dir }} && {{ venv_dir }}/bin/pip install --use-mirrors -r {{ item }}
with_items
:
-
"
{{
repo_requirements_file
}}"
-
"
{{
github_requirements_file
}}"
-
"
{{
local_requirements_file
}}"
tags
:
-
lms
-
cms
-
install
-
deploy
# This check needs to be run to see if rake can be used but its failure should not stop the run.
-
name
:
check if rake gather_assets is available
shell
:
executable=/bin/bash chdir={{ edx_platform_code_dir }} rake -T | grep gather_assets
environment
:
"
{{
deploy_environment
}}"
register
:
grep_gather_assets
ignore_errors
:
yes
tags
:
-
lms
-
lms-preview
-
lms-xml
-
cms
-
deploy
-
name
:
check if django can collect lms static data
shell
:
SERVICE_VARIANT={{ lms_variant }} django-admin.py help collectstatic --pythonpath={{ edx_platform_code_dir }} --settings=lms.envs.aws
register
:
check_lms_collect_static
sudo
:
yes
sudo_user
:
www-data
environment
:
"
{{
deploy_environment
}}"
tags
:
-
lms
-
lms-preview
-
lms-xml
-
deploy
-
name
:
check if django can collect cms static data
shell
:
SERVICE_VARIANT={{ lms_variant }} django-admin.py help collectstatic --pythonpath={{ edx_platform_code_dir }} --settings=cms.envs.aws
register
:
check_cms_collect_static
sudo
:
yes
sudo_user
:
www-data
environment
:
"
{{
deploy_environment
}}"
tags
:
-
cms
-
deploy
-
name
:
check if django can update cms templates
shell
:
SERVICE_VARIANT={{ cms_variant }} django-admin.py help update_templates --pythonpath={{ edx_platform_code_dir }} --settings=cms.envs.aws
register
:
check_cms_update_templates
sudo
:
yes
sudo_user
:
www-data
environment
:
"
{{
deploy_environment
}}"
tags
:
-
cms
-
deploy
# Gather lms assets using rake if possible
-
name
:
gather lms static assets with rake
shell
:
executable=/bin/bash chdir={{ edx_platform_code_dir }} SERVICE_VARIANT={{ lms_variant }} rake lms:gather_assets:aws
when
:
grep_gather_assets.rc == 0
notify
:
-
stop edxapp
-
start edxapp
sudo
:
yes
sudo_user
:
www-data
environment
:
"
{{
deploy_environment
}}"
tags
:
-
lms
-
lms-preview
-
lms-xml
-
deploy
# Gather lms assets using django if necessary(When rake doesn't know how)
-
name
:
gather lms static assets with django
shell
:
SERVICE_VARIANT={{ lms_variant }} django-admin.py collectstatic --pythonpath={{ edx_platform_code_dir }} --settings=lms.envs.aws --noinput --verbosity=0
when
:
grep_gather_assets.rc != 0 and check_lms_collect_static.rc == 0
notify
:
-
stop edxapp
-
start edxapp
sudo
:
yes
sudo_user
:
www-data
environment
:
"
{{
deploy_environment
}}"
tags
:
-
lms
-
lms-preview
-
lms-xml
-
deploy
# Gather cms assets using rake if possible
-
name
:
gather cms static assets with rake
# script: gather_assets.sh
shell
:
executable=/bin/bash chdir={{ edx_platform_code_dir }} SERVICE_VARIANT={{ cms_variant }} rake cms:gather_assets:aws
when
:
grep_gather_assets.rc == 0
notify
:
-
stop edxapp
-
start edxapp
sudo
:
yes
sudo_user
:
www-data
environment
:
"
{{
deploy_environment
}}"
tags
:
-
cms
-
deploy
-
name
:
gather cms static assets with django
shell
:
SERVICE_VARIANT={{ cms_variant }} django-admin.py collectstatic --pythonpath={{ edx_platform_code_dir }} --settings=lms.envs.aws --noinput --verbosity=0
when
:
grep_gather_assets.rc != 0 and check_cms_collect_static.rc == 0
notify
:
-
stop edxapp
-
start edxapp
sudo
:
yes
sudo_user
:
www-data
environment
:
"
{{
deploy_environment
}}"
tags
:
-
cms
-
deploy
-
name
:
update cms templates
shell
:
SERVICE_VARIANT={{ cms_variant }} django-admin.py update_templates --pythonpath={{ edx_platform_code_dir }} --settings=cms.envs.aws
when
:
check_cms_update_templates.rc == 0
notify
:
-
stop edxapp
-
start edxapp
sudo
:
yes
sudo_user
:
www-data
environment
:
"
{{
deploy_environment
}}"
tags
:
-
cms
-
deploy
# Add failure checks for if no static assets were deployed.
-
name
:
lms asset static failure check
shell
:
/bin/false
when
:
grep_gather_assets.rc != 0 and check_lms_collect_static.rc != 0
tags
:
-
lms
-
lms-preview
-
lms-xml
-
deploy
-
name
:
cms asset static failure check
shell
:
/bin/false
when
:
grep_gather_assets.rc != 0 and check_cms_collect_static.rc != 0
tags
:
-
cms
-
deploy
-
name
:
syncdb and migrate
shell
:
sudo -u www-data SERVICE_VARIANT=lms /opt/edx/bin/django-admin.py syncdb --migrate --noinput --settings=lms.envs.aws --pythonpath=/opt/wwc/edx-platform
when
:
migrate_db is defined
tags
:
-
deploy
-
lms
-
lms-xml
-
lms-preview
-
cms
-
syncdb
-
name
:
stop edxapp
service
:
name=edxapp state=stopped
tags
:
-
lms
-
lms-xml
-
lms-preview
-
cms
-
deploy
-
name
:
start edxapp
service
:
name=edxapp state=started
tags
:
-
lms
-
lms-xml
-
lms-preview
-
cms
-
deploy
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment