Operations grimoire/Sites on Ysul

From Nasqueron Agora
Revision as of 01:44, 3 February 2017 by Dereckson (talk | contribs) (→‎Deployment: Update list Jenkins account can deploy, explain how to add a site)

📕📁📜 Old technical information :: content warning

⌛ This Nasqueron Operations Grimoire page hasn't been updated for a long time.

☣ As our infrastructure evolves quickly, there is a good chance this information is outdated or now inaccurate. Be careful and consider update it.

➡️ To assert the information is still up-to-date or not, you can check the history of the relevant role in our Operations repository.

Deployment

Sites on Ysul are deployed to /var/wwwroot.

Four processes are known:

  • through custom deployment script (e.g. Zed, Nasqueron Tools)
  • through Git (e.g. www.espace-win.org archive)
  • through Jenkins task (e.g. dæghrefn.nasqueron.org)
  • without any deployment workflow

Automatic deployment on commit to master

This procedure is currently restricted to static content sites.

A compilation step managed by grunt, gulp, etc. is acceptable.

To deploy a Jenkins-powered site, just commit to master and the deploy job will run automatically:

  • assets.nasqueron.org
  • autoconfig.nasqueron.org
  • daeghrefn.nasqueron.org
  • docker.nasqueron.org
  • launch.nasqueron.org
  • www.nasqueron.org

To allow a new site to be deployed like this:

$ chown -R alken-orin:nasqueron /var/wwwroot/nasqueron.org/subdomain
$ sudo -u alken-orin ln -s /var/wwwroot/nasqueron.org/subdomain subdomain.nasqueron.org

On Jenkins create a new item deploy-website-nasqueron-www1-subdomain from the deploy-website-nasqueron-www1-assets template.

On DevCentral or GitHub, create a herald rule or webhook to warn Jenkins there is a new commit.

Other sites

For other sites, reach Dereckson for guidance and support.

PHP

There are three php-fpm pools available.

Name Version Configuration Location
Prod PHP 7.1 /usr/local/etc/php-prod.ini /opt/php
Dev PHP 7.1 /usr/local/etc/php-dev.ini /opt/php
Legacy PHP 5.6 /usr/local/etc/php-prod.ini Installed through php56- packages.