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 the Source | ||||||
| 
 | 
 | ||||||
|     # Clone GitLab repository |     # 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 | ### 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