Fedora Websites Release SOP

From FedoraProject

(Difference between revisions)
Jump to: navigation, search
(Minor updates on release process.)
(Add F12 notes.)
Line 48: Line 48:
  
 
to push the updated website live.
 
to push the updated website live.
 +
 +
== Fedora 12 Notes ==
 +
(Still needs to be wikified)
 +
 +
<pre>
 +
The times below are based on the timing of the website build and sync cronjobs.
 +
It'd be a good idea to double check those in advance.
 +
 +
Unfreeze website (modules/fedora-web/files/syncStatic.sh), push after 9:05 AM EDT.
 +
 +
Run sudo /usr/local/bin/syncStatic on puppet1 after 9:45 AM EDT, make sure this
 +
succeeds by checking /var/lib/puppet/application/fedoraproject.org.
 +
 +
Release:
 +
 +
Push commit to redirect get-prerelease to get-fedora.
 +
 +
sudo func proxy\* call command run "/usr/local/bin/syncFiles.sh fedoraproject.org /srv/web/fedoraproject.org/"
 +
 +
Manually run
 +
 +
sudo /usr/local/bin/syncFiles.sh fedoraproject.org /srv/web/fedoraproject.org/
 +
 +
on any proxy server where the func call did not succeed.
 +
 +
If necessary, clear proxy caches using
 +
 +
rm -rf /srv/cache/mod_cache/*
 +
 +
After the site is out, do link checking and push any last-minute fixes/changes
 +
by committing to the git repo, running syncStatic, and syncing to the proxies
 +
as above.
 +
</pre>
  
 
[[Category:Websites]]
 
[[Category:Websites]]
 
[[Category:Infrastructure SOPs]]
 
[[Category:Infrastructure SOPs]]

Revision as of 15:12, 17 November 2009

Artwork DesignService fedorawebsitesbanner 3.png


Contents

Preparing the website for a release

Update gpg key

As the release approaches, watch the fedora-release package for a new key to be added. Use the update-gpg-keys script in the fedora-web git repository to add it to static/. Manually add it to /keys and /verify.

Branch master for stable release in fedora-web git repository

Note.png
Perhaps this should be done right after release?
git branch f12 master && git push origin f12

Unfreeze website

Comment out the git checkout line in modules/fedora-web/files/syncStatic.sh on puppet1.

Prepare puppet commits

Prior to release day, prepare puppet commits to move the fedora-web branch to the release (alpha, beta, final, whatever) and, edit redirects.conf (in modules/fedora-web/files on puppet1) to do the right thing with /get-prerelease requests.

Fire in the hole

On release day, wait for rel-eng to say go, then push the puppet changes (e.g.: cd ~/puppet && git push). Then, on puppet1 run:

# Ensure you have the puppet repo checked out to ~/puppet and up to date
cd ~/puppet && make HOSTS="puppet1 proxy1 proxy2 proxy3 proxy4 proxy5" push

# Once /usr/local/bin/syncStatic is updated with your changes, run
sudo /usr/local/bin/syncStatic

# To sync the changes out, you can use func if you have sudo on puppet1.
# Otherwise, SSH to the proxies and call the below command.
sudo func proxy\* call command run "/usr/local/bin/syncFiles.sh fedoraproject.org /srv/web/fedoraproject.org/"

to push the updated website live.

Fedora 12 Notes

(Still needs to be wikified)

The times below are based on the timing of the website build and sync cronjobs.
It'd be a good idea to double check those in advance.

Unfreeze website (modules/fedora-web/files/syncStatic.sh), push after 9:05 AM EDT.

Run sudo /usr/local/bin/syncStatic on puppet1 after 9:45 AM EDT, make sure this
succeeds by checking /var/lib/puppet/application/fedoraproject.org.

Release:

Push commit to redirect get-prerelease to get-fedora.

sudo func proxy\* call command run "/usr/local/bin/syncFiles.sh fedoraproject.org /srv/web/fedoraproject.org/"

Manually run

sudo /usr/local/bin/syncFiles.sh fedoraproject.org /srv/web/fedoraproject.org/

on any proxy server where the func call did not succeed.

If necessary, clear proxy caches using

rm -rf /srv/cache/mod_cache/*

After the site is out, do link checking and push any last-minute fixes/changes
by committing to the git repo, running syncStatic, and syncing to the proxies
as above.