(Update with F13 instructions.) |
|||
Line 31: | Line 31: | ||
=== Fire in the hole === | === Fire in the hole === | ||
After 9:15 AM EDT release day, push the puppet changes (e.g.: <code>cd ~/puppet | |||
(e.g.: <code>cd ~/puppet && git push</code>). Then, on <code>puppet1</code> | && git push</code>). This timing ensures that the cron jobs will not | ||
run: | automatically push the new website before 10:00 AM. Then, on | ||
<code>puppet1</code> run: | |||
<pre> | <pre> | ||
# Ensure you have the puppet repo checked out to ~/puppet and up to date | # Ensure you have the puppet repo checked out to ~/puppet and up to date | ||
cd ~/puppet && make HOSTS="bapp1 proxy1 proxy2 proxy3 proxy4 proxy5" push | cd ~/puppet && make HOSTS="bapp1 proxy1 proxy2 proxy3 proxy4 proxy5 proxy6 proxy7" push | ||
</pre> | </pre> | ||
Line 43: | Line 44: | ||
<pre> | <pre> | ||
# Once /usr/local/bin/syncStatic on bapp1 is updated with your changes, run | # Once /usr/local/bin/syncStatic on bapp1 is updated with your changes, run | ||
sudo /usr/local/bin/syncStatic | sudo -u apache /usr/local/bin/syncStatic | ||
</pre> | </pre> | ||
Finally, on the proxies: | This takes about 15 minutes, so try to do this well before you need to push the | ||
final site out. | |||
Finally, when releng gives the OK, run the following on the proxies to make the | |||
site live: | |||
<pre> | <pre> | ||
# To sync the changes out, you can use func from puppet1 if you have sudo on puppet1. | # To sync the changes out, you can use func from puppet1 if you have sudo on puppet1. | ||
# Otherwise, SSH to the proxies and call the below command. | # Otherwise, SSH to the proxies and call the below command. | ||
sudo /usr/bin/rsync -a --no-owner --no-group | sudo /usr/bin/rsync -a --no-owner --no-group bapp01::fedoraproject.org/* /srv/web/fedoraproject.org/ | ||
</pre> | </pre> | ||
== Fedora 12 Notes == | == Fedora 12 Notes == |
Revision as of 16:39, 25 May 2010
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
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
After 9:15 AM EDT release day, push the puppet changes (e.g.: cd ~/puppet
&& git push
). This timing ensures that the cron jobs will not
automatically push the new website before 10:00 AM. Then, on
puppet1
run:
# Ensure you have the puppet repo checked out to ~/puppet and up to date cd ~/puppet && make HOSTS="bapp1 proxy1 proxy2 proxy3 proxy4 proxy5 proxy6 proxy7" push
On bapp1, run:
# Once /usr/local/bin/syncStatic on bapp1 is updated with your changes, run sudo -u apache /usr/local/bin/syncStatic
This takes about 15 minutes, so try to do this well before you need to push the final site out.
Finally, when releng gives the OK, run the following on the proxies to make the site live:
# To sync the changes out, you can use func from puppet1 if you have sudo on puppet1. # Otherwise, SSH to the proxies and call the below command. sudo /usr/bin/rsync -a --no-owner --no-group bapp01::fedoraproject.org/* /srv/web/fedoraproject.org/
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 bapp1 after 9:45 AM EDT, make sure this succeeds by checking /srv/web/fedoraproject.org. Release: Push commit to redirect get-prerelease to get-fedora. If you have sudo on puppet1, run: $ sudo func proxy\* call command run "/usr/bin/rsync -a --no-owner --no-group bapp1.vpn.fedoraproject.org::fedoraproject.org/* /srv/web/fedoraproject.org/" Otherwise, manually run this on each proxy server: $ sudo /usr/bin/rsync -a --no-owner --no-group bapp1.vpn.fedoraproject.org::fedoraproject.org/* /srv/web/fedoraproject.org/ 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. Update the static banner on start.fedoraproject.org. The procedure is the same as with fedoraproject.org, except that the command to run on the proxies is $ sudo /usr/bin/rsync -a --no-owner --no-group bapp1.vpn.fedoraproject.org::start.fedoraproject.org/* /srv/web/start.fedoraproject.org/ Unfinished notes * add release banner countdown * add new release checksum files * add gpg keys Watch the webmaster@ moderator queue for reports of website issues. update start.fp.o banner image