Update guides for 8.17 version
This commit is contained in:
		
							parent
							
								
									50f5960c72
								
							
						
					
					
						commit
						22886cde91
					
				|  | @ -271,9 +271,9 @@ sudo usermod -aG redis git | |||
| ### Clone the Source | ||||
| 
 | ||||
|     # Clone GitLab repository | ||||
|     sudo -u git -H git clone https://gitlab.com/gitlab-org/gitlab-ce.git -b 8-16-stable gitlab | ||||
|     sudo -u git -H git clone https://gitlab.com/gitlab-org/gitlab-ce.git -b 8-17-stable gitlab | ||||
| 
 | ||||
| **Note:** You can change `8-16-stable` to `master` if you want the *bleeding edge* version, but never install master on a production server! | ||||
| **Note:** You can change `8-17-stable` to `master` if you want the *bleeding edge* version, but never install master on a production server! | ||||
| 
 | ||||
| ### Configure It | ||||
| 
 | ||||
|  |  | |||
|  | @ -0,0 +1,239 @@ | |||
| # From 8.16 to 8.17 | ||||
| 
 | ||||
| Make sure you view this update guide from the tag (version) of GitLab you would | ||||
| like to install. In most cases this should be the highest numbered production | ||||
| tag (without rc in it). You can select the tag in the version dropdown at the | ||||
| top left corner of GitLab (below the menu bar). | ||||
| 
 | ||||
| If the highest number stable branch is unclear please check the | ||||
| [GitLab Blog](https://about.gitlab.com/blog/archives.html) for installation | ||||
| guide links by version. | ||||
| 
 | ||||
| ### 1. Stop server | ||||
| 
 | ||||
| ```bash | ||||
| sudo service gitlab stop | ||||
| ``` | ||||
| 
 | ||||
| ### 2. Backup | ||||
| 
 | ||||
| ```bash | ||||
| cd /home/git/gitlab | ||||
| 
 | ||||
| sudo -u git -H bundle exec rake gitlab:backup:create RAILS_ENV=production | ||||
| ``` | ||||
| 
 | ||||
| ### 3. Update Ruby | ||||
| 
 | ||||
| We will continue supporting Ruby < 2.3 for the time being but we recommend you | ||||
| upgrade to Ruby 2.3 if you're running a source installation, as this is the same | ||||
| version that ships with our Omnibus package. | ||||
| 
 | ||||
| You can check which version you are running with `ruby -v`. | ||||
| 
 | ||||
| Download and compile Ruby: | ||||
| 
 | ||||
| ```bash | ||||
| mkdir /tmp/ruby && cd /tmp/ruby | ||||
| curl --remote-name --progress https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.3.tar.gz | ||||
| echo '1014ee699071aa2ddd501907d18cbe15399c997d ruby-2.3.3.tar.gz' | shasum -c - && tar xzf ruby-2.3.3.tar.gz | ||||
| cd ruby-2.3.3 | ||||
| ./configure --disable-install-rdoc | ||||
| make | ||||
| sudo make install | ||||
| ``` | ||||
| 
 | ||||
| Install Bundler: | ||||
| 
 | ||||
| ```bash | ||||
| sudo gem install bundler --no-ri --no-rdoc | ||||
| ``` | ||||
| 
 | ||||
| ### 4. Get latest code | ||||
| 
 | ||||
| ```bash | ||||
| cd /home/git/gitlab | ||||
| 
 | ||||
| sudo -u git -H git fetch --all | ||||
| sudo -u git -H git checkout -- db/schema.rb # local changes will be restored automatically | ||||
| ``` | ||||
| 
 | ||||
| For GitLab Community Edition: | ||||
| 
 | ||||
| ```bash | ||||
| cd /home/git/gitlab | ||||
| 
 | ||||
| sudo -u git -H git checkout 8-17-stable | ||||
| ``` | ||||
| 
 | ||||
| OR | ||||
| 
 | ||||
| For GitLab Enterprise Edition: | ||||
| 
 | ||||
| ```bash | ||||
| cd /home/git/gitlab | ||||
| 
 | ||||
| sudo -u git -H git checkout 8-17-stable-ee | ||||
| ``` | ||||
| 
 | ||||
| ### 5. Install libs, migrations, etc. | ||||
| 
 | ||||
| ```bash | ||||
| cd /home/git/gitlab | ||||
| 
 | ||||
| # MySQL installations (note: the line below states '--without postgres') | ||||
| sudo -u git -H bundle install --without postgres development test --deployment | ||||
| 
 | ||||
| # PostgreSQL installations (note: the line below states '--without mysql') | ||||
| sudo -u git -H bundle install --without mysql development test --deployment | ||||
| 
 | ||||
| # Optional: clean up old gems | ||||
| sudo -u git -H bundle clean | ||||
| 
 | ||||
| # Run database migrations | ||||
| sudo -u git -H bundle exec rake db:migrate RAILS_ENV=production | ||||
| 
 | ||||
| # Clean up assets and cache | ||||
| sudo -u git -H bundle exec rake assets:clean assets:precompile cache:clear RAILS_ENV=production | ||||
| ``` | ||||
| 
 | ||||
| **MySQL installations**: Run through the `MySQL strings limits` and `Tables and data conversion to utf8mb4` [tasks](../install/database_mysql.md). | ||||
| 
 | ||||
| ### 6. Update gitlab-workhorse | ||||
| 
 | ||||
| Install and compile gitlab-workhorse. This requires | ||||
| [Go 1.5](https://golang.org/dl) which should already be on your system from | ||||
| GitLab 8.1. | ||||
| 
 | ||||
| ```bash | ||||
| cd /home/git/gitlab | ||||
| 
 | ||||
| sudo -u git -H bundle exec rake "gitlab:workhorse:install[/home/git/gitlab-workhorse]" RAILS_ENV=production | ||||
| ``` | ||||
| 
 | ||||
| ### 7. Update gitlab-shell | ||||
| 
 | ||||
| ```bash | ||||
| cd /home/git/gitlab-shell | ||||
| 
 | ||||
| sudo -u git -H git fetch --all --tags | ||||
| sudo -u git -H git checkout v4.1.1 | ||||
| ``` | ||||
| 
 | ||||
| ### 8. Update configuration files | ||||
| 
 | ||||
| #### New configuration options for `gitlab.yml` | ||||
| 
 | ||||
| There are new configuration options available for [`gitlab.yml`](config/gitlab.yml.example). View them with the command below and apply them manually to your current `gitlab.yml`: | ||||
| 
 | ||||
| ```sh | ||||
| cd /home/git/gitlab | ||||
| 
 | ||||
| git diff origin/8-16-stable:config/gitlab.yml.example origin/8-17-stable:config/gitlab.yml.example | ||||
| ``` | ||||
| 
 | ||||
| #### Git configuration | ||||
| 
 | ||||
| Configure Git to generate packfile bitmaps (introduced in Git 2.0) on | ||||
| the GitLab server during `git gc`. | ||||
| 
 | ||||
| ```sh | ||||
| cd /home/git/gitlab | ||||
| 
 | ||||
| sudo -u git -H git config --global repack.writeBitmaps true | ||||
| ``` | ||||
| 
 | ||||
| #### Nginx configuration | ||||
| 
 | ||||
| Ensure you're still up-to-date with the latest NGINX configuration changes: | ||||
| 
 | ||||
| ```sh | ||||
| cd /home/git/gitlab | ||||
| 
 | ||||
| # For HTTPS configurations | ||||
| git diff origin/8-16-stable:lib/support/nginx/gitlab-ssl origin/8-17-stable:lib/support/nginx/gitlab-ssl | ||||
| 
 | ||||
| # For HTTP configurations | ||||
| git diff origin/8-16-stable:lib/support/nginx/gitlab origin/8-17-stable:lib/support/nginx/gitlab | ||||
| ``` | ||||
| 
 | ||||
| If you are using Apache instead of NGINX please see the updated [Apache templates]. | ||||
| Also note that because Apache does not support upstreams behind Unix sockets you | ||||
| will need to let gitlab-workhorse listen on a TCP port. You can do this | ||||
| via [/etc/default/gitlab]. | ||||
| 
 | ||||
| [Apache templates]: https://gitlab.com/gitlab-org/gitlab-recipes/tree/master/web-server/apache | ||||
| [/etc/default/gitlab]: https://gitlab.com/gitlab-org/gitlab-ce/blob/8-17-stable/lib/support/init.d/gitlab.default.example#L38 | ||||
| 
 | ||||
| #### SMTP configuration | ||||
| 
 | ||||
| If you're installing from source and use SMTP to deliver mail, you will need to add the following line | ||||
| to config/initializers/smtp_settings.rb: | ||||
| 
 | ||||
| ```ruby | ||||
| ActionMailer::Base.delivery_method = :smtp | ||||
| ``` | ||||
| 
 | ||||
| See [smtp_settings.rb.sample] as an example. | ||||
| 
 | ||||
| [smtp_settings.rb.sample]: https://gitlab.com/gitlab-org/gitlab-ce/blob/8-17-stable/config/initializers/smtp_settings.rb.sample#L13 | ||||
| 
 | ||||
| #### Init script | ||||
| 
 | ||||
| Ensure you're still up-to-date with the latest init script changes: | ||||
| 
 | ||||
| ```bash | ||||
| cd /home/git/gitlab | ||||
| 
 | ||||
| sudo cp lib/support/init.d/gitlab /etc/init.d/gitlab | ||||
| ``` | ||||
| 
 | ||||
| For Ubuntu 16.04.1 LTS: | ||||
| 
 | ||||
| ```bash | ||||
| sudo systemctl daemon-reload | ||||
| ``` | ||||
| 
 | ||||
| ### 9. Start application | ||||
| 
 | ||||
| ```bash | ||||
| sudo service gitlab start | ||||
| sudo service nginx restart | ||||
| ``` | ||||
| 
 | ||||
| ### 10. Check application status | ||||
| 
 | ||||
| Check if GitLab and its environment are configured correctly: | ||||
| 
 | ||||
| ```bash | ||||
| cd /home/git/gitlab | ||||
| 
 | ||||
| sudo -u git -H bundle exec rake gitlab:env:info RAILS_ENV=production | ||||
| ``` | ||||
| 
 | ||||
| To make sure you didn't miss anything run a more thorough check: | ||||
| 
 | ||||
| ```bash | ||||
| cd /home/git/gitlab | ||||
| 
 | ||||
| sudo -u git -H bundle exec rake gitlab:check RAILS_ENV=production | ||||
| ``` | ||||
| 
 | ||||
| If all items are green, then congratulations, the upgrade is complete! | ||||
| 
 | ||||
| ## Things went south? Revert to previous version (8.16) | ||||
| 
 | ||||
| ### 1. Revert the code to the previous version | ||||
| 
 | ||||
| Follow the [upgrade guide from 8.15 to 8.16](8.15-to-8.16.md), except for the | ||||
| database migration (the backup is already migrated to the previous version). | ||||
| 
 | ||||
| ### 2. Restore from the backup | ||||
| 
 | ||||
| ```bash | ||||
| cd /home/git/gitlab | ||||
| 
 | ||||
| sudo -u git -H bundle exec rake gitlab:backup:restore RAILS_ENV=production | ||||
| ``` | ||||
| 
 | ||||
| If you have more than one backup `*.tar` file(s) please add `BACKUP=timestamp_of_backup` to the command above. | ||||
		Loading…
	
		Reference in New Issue