Build Ruby 3.3.0, but don't switch over to it yet
Still need to test the app with it, and getting this to deploy right will be a bit tricky! Here's my thinking for sequencing once the code is ready: 1. Temporarily modify `deploy.yml` to push the version, but not set it as `current` or restart the app. 2. Update the service file to use Ruby 3.3.0 and reference that version directly (instead of `current`), and restart the app. 3. Once it's already running, link that version as `current`. 4. Update the service file to reference `current` as usual, and restart the app.
This commit is contained in:
parent
45579167dc
commit
b18dd115a1
1 changed files with 9 additions and 9 deletions
|
@ -166,21 +166,21 @@
|
||||||
git:
|
git:
|
||||||
repo: https://github.com/rbenv/ruby-build.git
|
repo: https://github.com/rbenv/ruby-build.git
|
||||||
dest: /opt/ruby-build
|
dest: /opt/ruby-build
|
||||||
version: 4d4678bc1ed89aa6900c0ea0da23495445dbcf50
|
version: e1b36a32fb87d61955ac38f1889b7e3cb3b2f407
|
||||||
|
|
||||||
- name: Check if Ruby 3.1.4 is already installed
|
- name: Check if Ruby 3.3.0 is already installed
|
||||||
stat:
|
stat:
|
||||||
path: /opt/ruby-3.1.4
|
path: /opt/ruby-3.3.0
|
||||||
register: ruby_dir
|
register: ruby_dir
|
||||||
|
|
||||||
- name: Install Ruby 3.1.4
|
- name: Install Ruby 3.3.0
|
||||||
command: "/opt/ruby-build/bin/ruby-build 3.1.4 /opt/ruby-3.1.4"
|
command: "/opt/ruby-build/bin/ruby-build 3.3.0 /opt/ruby-3.3.0"
|
||||||
when: not ruby_dir.stat.exists
|
when: not ruby_dir.stat.exists
|
||||||
|
|
||||||
- name: Add Ruby 3.1.4 to the global PATH, for developer convenience
|
- name: Add Ruby 3.3.0 to the global PATH, for developer convenience
|
||||||
lineinfile:
|
lineinfile:
|
||||||
dest: /etc/profile
|
dest: /etc/profile
|
||||||
line: 'PATH="/opt/ruby-3.1.4/bin:$PATH" # Added by impress deploy setup script'
|
line: 'PATH="/opt/ruby-3.3.0/bin:$PATH" # Added by impress deploy setup script'
|
||||||
|
|
||||||
- name: Install system dependencies for impress's Ruby gems
|
- name: Install system dependencies for impress's Ruby gems
|
||||||
apt:
|
apt:
|
||||||
|
@ -244,14 +244,14 @@
|
||||||
become_user: impress
|
become_user: impress
|
||||||
command:
|
command:
|
||||||
chdir: /srv/impress/versions/initial-placeholder
|
chdir: /srv/impress/versions/initial-placeholder
|
||||||
cmd: /opt/ruby-3.1.4/bin/bundle config set --local deployment true
|
cmd: /opt/ruby-3.3.0/bin/bundle config set --local deployment true
|
||||||
when: not current_app_version.stat.exists
|
when: not current_app_version.stat.exists
|
||||||
|
|
||||||
- name: Install the placeholder app's dependencies
|
- name: Install the placeholder app's dependencies
|
||||||
become_user: impress
|
become_user: impress
|
||||||
command:
|
command:
|
||||||
chdir: /srv/impress/versions/initial-placeholder
|
chdir: /srv/impress/versions/initial-placeholder
|
||||||
cmd: /opt/ruby-3.1.4/bin/bundle install
|
cmd: /opt/ruby-3.3.0/bin/bundle install
|
||||||
when: not current_app_version.stat.exists
|
when: not current_app_version.stat.exists
|
||||||
|
|
||||||
- name: Set the placeholder app as the current version
|
- name: Set the placeholder app as the current version
|
||||||
|
|
Loading…
Reference in a new issue