From e33aa2329936b38568d8621ba427373035a75a6b Mon Sep 17 00:00:00 2001 From: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> Date: Mon, 21 Jan 2013 15:51:46 +0200 Subject: [PATCH 1/9] Update docs to use 4-1-stable --- doc/install/installation.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/doc/install/installation.md b/doc/install/installation.md index 27c87ec825f..7107d84617b 100644 --- a/doc/install/installation.md +++ b/doc/install/installation.md @@ -190,10 +190,10 @@ See `doc/install/databases.md` cd /home/gitlab/gitlab # Checkout to stable release - sudo -u gitlab -H git checkout 4-0-stable + sudo -u gitlab -H git checkout 4-1-stable **Note:** -You can change `4-0-stable` to `master` if you want the *bleeding edge* version, but +You can change `4-1-stable` to `master` if you want the *bleeding edge* version, but do so with caution! ## Configure it @@ -267,7 +267,7 @@ used for the `email.from` setting in `config/gitlab.yml`) Download the init script (will be /etc/init.d/gitlab): - sudo curl --output /etc/init.d/gitlab https://raw.github.com/gitlabhq/gitlab-recipes/master/init.d/gitlab + sudo curl --output /etc/init.d/gitlab https://raw.github.com/gitlabhq/gitlab-recipes/4-1-stable/init.d/gitlab sudo chmod +x /etc/init.d/gitlab Make GitLab start on boot: @@ -308,7 +308,7 @@ If you can't or don't want to use Nginx as your web server, have a look at the Download an example site config: - sudo curl --output /etc/nginx/sites-available/gitlab https://raw.github.com/gitlabhq/gitlab-recipes/master/nginx/gitlab + sudo curl --output /etc/nginx/sites-available/gitlab https://raw.github.com/gitlabhq/gitlab-recipes/4-1-stable/nginx/gitlab sudo ln -s /etc/nginx/sites-available/gitlab /etc/nginx/sites-enabled/gitlab Make sure to edit the config file to match your setup: -- GitLab From 7014c8782bfabf5bc9fadb34d51a57df999fae1d Mon Sep 17 00:00:00 2001 From: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> Date: Mon, 21 Jan 2013 15:53:00 +0200 Subject: [PATCH 2/9] Up to 4.1.0 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 87db9036a82..ee74734aa22 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -4.1.0rc1 +4.1.0 -- GitLab From 970f86077adf2857ac3b3c1d7b0dc366a39f41f3 Mon Sep 17 00:00:00 2001 From: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> Date: Fri, 8 Feb 2013 09:02:30 +0200 Subject: [PATCH 3/9] Up to 4.2 --- CHANGELOG | 7 +++++++ VERSION | 2 +- doc/install/installation.md | 8 ++++---- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 4510b6d5cd9..5bc174a077b 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,4 +1,11 @@ v 4.2.0 + - Async gitolite calls + - Teams + - Project listing page + - Improved search + - Groups API + - Improved Network Graph + - Edit page for group - User show page. Via /u/username - Show help contents on pages for better navigation diff --git a/VERSION b/VERSION index b5d76fb80d8..6aba2b245a8 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -4.2.0pre +4.2.0 diff --git a/doc/install/installation.md b/doc/install/installation.md index e42176370ba..f56d1c715f2 100644 --- a/doc/install/installation.md +++ b/doc/install/installation.md @@ -191,10 +191,10 @@ To setup the MySQL/PostgreSQL database and dependencies please see [`doc/install cd /home/gitlab/gitlab # Checkout to stable release - sudo -u gitlab -H git checkout 4-1-stable + sudo -u gitlab -H git checkout 4-2-stable **Note:** -You can change `4-1-stable` to `master` if you want the *bleeding edge* version, but +You can change `4-2-stable` to `master` if you want the *bleeding edge* version, but do so with caution! ## Configure it @@ -268,7 +268,7 @@ used for the `email.from` setting in `config/gitlab.yml`) Download the init script (will be /etc/init.d/gitlab): - sudo curl --output /etc/init.d/gitlab https://raw.github.com/gitlabhq/gitlab-recipes/master/init.d/gitlab + sudo curl --output /etc/init.d/gitlab https://raw.github.com/gitlabhq/gitlab-recipes/4-2-stable/init.d/gitlab sudo chmod +x /etc/init.d/gitlab Make GitLab start on boot: @@ -309,7 +309,7 @@ If you can't or don't want to use Nginx as your web server, have a look at the Download an example site config: - sudo curl --output /etc/nginx/sites-available/gitlab https://raw.github.com/gitlabhq/gitlab-recipes/master/nginx/gitlab + sudo curl --output /etc/nginx/sites-available/gitlab https://raw.github.com/gitlabhq/gitlab-recipes/4-2-stable/nginx/gitlab sudo ln -s /etc/nginx/sites-available/gitlab /etc/nginx/sites-enabled/gitlab Make sure to edit the config file to match your setup: -- GitLab From 6ce2ff66974eeeb88f3ea523eaa38355be8d27c2 Mon Sep 17 00:00:00 2001 From: Fumiya Nakamura <nakamurafumiya003@gmail.com> Date: Fri, 8 Feb 2013 09:58:27 -0800 Subject: [PATCH 4/9] Update command to execute as git user --- doc/install/installation.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/install/installation.md b/doc/install/installation.md index f56d1c715f2..4ca5f2de7c6 100644 --- a/doc/install/installation.md +++ b/doc/install/installation.md @@ -147,7 +147,7 @@ Fix the directory permissions for the repositories: # Make sure the repositories dir is owned by git and it stays that way sudo chmod -R ug+rwX,o-rwx /home/git/repositories/ sudo chown -R git:git /home/git/repositories/ - find /home/git/repositories -type d -print0 | sudo xargs -0 chmod g+s + sudo -u git -H find /home/git/repositories -type d -print0 | sudo xargs -0 chmod g+s ## Add domains to list to the list of known hosts -- GitLab From 4d2660777bcc2894feafd700ee18e2254e20ae4c Mon Sep 17 00:00:00 2001 From: Donny Kurnia <donnykurnia@gmail.com> Date: Tue, 12 Feb 2013 12:23:18 +0700 Subject: [PATCH 5/9] Update recipe_content url to same branch When checking the init.d/gitlab file, it should be using the same branch with the gitlabhq --- lib/tasks/gitlab/check.rake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/tasks/gitlab/check.rake b/lib/tasks/gitlab/check.rake index b54e63acfbc..1a828c425d3 100644 --- a/lib/tasks/gitlab/check.rake +++ b/lib/tasks/gitlab/check.rake @@ -142,7 +142,7 @@ namespace :gitlab do return end - recipe_content = `curl https://raw.github.com/gitlabhq/gitlab-recipes/master/init.d/gitlab 2>/dev/null` + recipe_content = `curl https://raw.github.com/gitlabhq/gitlab-recipes/4-2-stable/init.d/gitlab 2>/dev/null` script_content = File.read(script_path) if recipe_content == script_content -- GitLab From 24a7c0f63d892483c02ff98374f4fb2e03fc0654 Mon Sep 17 00:00:00 2001 From: Fumiya Nakamura <nakamurafumiya003@gmail.com> Date: Fri, 15 Feb 2013 04:51:01 -0800 Subject: [PATCH 6/9] Fix file_name for archive --- app/models/repository.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/models/repository.rb b/app/models/repository.rb index 6bfdf2255f2..9032905ce9a 100644 --- a/app/models/repository.rb +++ b/app/models/repository.rb @@ -151,7 +151,7 @@ class Repository return nil unless commit # Build file path - file_name = self.path_with_namespace + "-" + commit.id.to_s + ".tar.gz" + file_name = self.path_with_namespace.gsub("/","_") + "-" + commit.id.to_s + ".tar.gz" storage_path = Rails.root.join("tmp", "repositories") file_path = File.join(storage_path, file_name) -- GitLab From dc1d4eab22658b276214912bdab4155111299355 Mon Sep 17 00:00:00 2001 From: Fumiya Nakamura <nakamurafumiya003@gmail.com> Date: Fri, 15 Feb 2013 06:03:22 -0800 Subject: [PATCH 7/9] Fix repository.rb archive --- app/models/repository.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/models/repository.rb b/app/models/repository.rb index 9032905ce9a..f9db6342603 100644 --- a/app/models/repository.rb +++ b/app/models/repository.rb @@ -153,14 +153,14 @@ class Repository # Build file path file_name = self.path_with_namespace.gsub("/","_") + "-" + commit.id.to_s + ".tar.gz" storage_path = Rails.root.join("tmp", "repositories") - file_path = File.join(storage_path, file_name) + file_path = File.join(storage_path, self.path_with_namespace, file_name) # Put files into a directory before archiving prefix = self.path_with_namespace + "/" # Create file if not exists unless File.exists?(file_path) - FileUtils.mkdir_p storage_path + FileUtils.mkdir_p File.dirname(file_path) file = self.repo.archive_to_file(ref, prefix, file_path) end -- GitLab From d67117b5a185cfb15a1d7e749588ff981ffbf779 Mon Sep 17 00:00:00 2001 From: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> Date: Thu, 21 Feb 2013 09:01:46 +0200 Subject: [PATCH 8/9] fix team events show up --- app/views/teams/show.js.haml | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 app/views/teams/show.js.haml diff --git a/app/views/teams/show.js.haml b/app/views/teams/show.js.haml new file mode 100644 index 00000000000..7e5a148e5ef --- /dev/null +++ b/app/views/teams/show.js.haml @@ -0,0 +1,2 @@ +:plain + Pager.append(#{@events.count}, "#{escape_javascript(render(@events))}"); -- GitLab From c0a91b2e276582feba82b6df80b27664d4b737ee Mon Sep 17 00:00:00 2001 From: Brandon Shutter <shutterbrandon@gmail.com> Date: Mon, 4 Mar 2013 16:18:18 -0600 Subject: [PATCH 9/9] Update installation.md Removing sudo for commands as we are installing as the root user according to instructions. Also, updated version of Ruby to 1.9.3-p392 as gitlab works with the new version. Note, this is for Ubuntu. --- doc/install/installation.md | 128 ++++++++++++++++++------------------ 1 file changed, 64 insertions(+), 64 deletions(-) diff --git a/doc/install/installation.md b/doc/install/installation.md index 4ca5f2de7c6..373f434d62b 100644 --- a/doc/install/installation.md +++ b/doc/install/installation.md @@ -40,36 +40,36 @@ to install it first. Make sure your system is up-to-date: - sudo apt-get update - sudo apt-get upgrade + apt-get update + apt-get upgrade **Note:** Vim is an editor that is used here whenever there are files that need to be edited by hand. But, you can use any editor you like instead. # Install vim - sudo apt-get install -y vim + apt-get install -y vim Install the required packages: - sudo apt-get install -y build-essential zlib1g-dev libyaml-dev libssl-dev libgdbm-dev libreadline-dev libncurses5-dev libffi-dev curl git-core openssh-server redis-server postfix checkinstall libxml2-dev libxslt-dev libcurl4-openssl-dev libicu-dev + apt-get install -y build-essential zlib1g-dev libyaml-dev libssl-dev libgdbm-dev libreadline-dev libncurses5-dev libffi-dev curl git-core openssh-server redis-server postfix checkinstall libxml2-dev libxslt-dev libcurl4-openssl-dev libicu-dev Make sure you have the right version of Python installed. # Install Python - sudo apt-get install python + apt-get install python # Make sure that Python is 2.5+ (3.x is not supported at the moment) python --version # If it's Python 3 you might need to install Python 2 separately - sudo apt-get install python2.7 + apt-get install python2.7 # Make sure you can access Python via python2 python2 --version # If you get a "command not found" error create a link to the python binary - sudo ln -s /usr/bin/python /usr/bin/python2 + ln -s /usr/bin/python /usr/bin/python2 # 2. Ruby @@ -77,22 +77,22 @@ Make sure you have the right version of Python installed. Download and compile it: mkdir /tmp/ruby && cd /tmp/ruby - curl --progress http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p327.tar.gz | tar xz - cd ruby-1.9.3-p327 + curl --progress http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p392.tar.gz | tar xz + cd ruby-1.9.3-p392 ./configure make - sudo make install + make install Install the Bundler Gem: - sudo gem install bundler + gem install bundler # 3. System Users Create a user for Git and Gitolite: - sudo adduser \ + adduser \ --system \ --shell /bin/sh \ --gecos 'Git Version Control' \ @@ -103,13 +103,13 @@ Create a user for Git and Gitolite: Create a user for GitLab: - sudo adduser --disabled-login --gecos 'GitLab' gitlab + adduser --disabled-login --gecos 'GitLab' gitlab # Add it to the git group - sudo usermod -a -G git gitlab + usermod -a -G git gitlab # Generate the SSH key - sudo -u gitlab -H ssh-keygen -q -N '' -t rsa -f /home/gitlab/.ssh/id_rsa + -u gitlab -H ssh-keygen -q -N '' -t rsa -f /home/gitlab/.ssh/id_rsa # 4. Gitolite @@ -117,7 +117,7 @@ Create a user for GitLab: Clone GitLab's fork of the Gitolite source code: cd /home/git - sudo -u git -H git clone -b gl-v320 https://github.com/gitlabhq/gitolite.git /home/git/gitolite + -u git -H git clone -b gl-v320 https://github.com/gitlabhq/gitolite.git /home/git/gitolite Setup Gitolite with GitLab as its admin: @@ -125,46 +125,46 @@ Setup Gitolite with GitLab as its admin: GitLab assumes *full and unshared* control over this Gitolite installation. # Add Gitolite scripts to $PATH - sudo -u git -H mkdir /home/git/bin - sudo -u git -H sh -c 'printf "%b\n%b\n" "PATH=\$PATH:/home/git/bin" "export PATH" >> /home/git/.profile' - sudo -u git -H sh -c 'gitolite/install -ln /home/git/bin' + -u git -H mkdir /home/git/bin + -u git -H sh -c 'printf "%b\n%b\n" "PATH=\$PATH:/home/git/bin" "export PATH" >> /home/git/.profile' + -u git -H sh -c 'gitolite/install -ln /home/git/bin' # Copy the gitlab user's (public) SSH key ... - sudo cp /home/gitlab/.ssh/id_rsa.pub /home/git/gitlab.pub - sudo chmod 0444 /home/git/gitlab.pub + cp /home/gitlab/.ssh/id_rsa.pub /home/git/gitlab.pub + chmod 0444 /home/git/gitlab.pub # ... and use it as the admin key for the Gitolite setup - sudo -u git -H sh -c "PATH=/home/git/bin:$PATH; gitolite setup -pk /home/git/gitlab.pub" + -u git -H sh -c "PATH=/home/git/bin:$PATH; gitolite setup -pk /home/git/gitlab.pub" Fix the directory permissions for the configuration directory: # Make sure the Gitolite config dir is owned by git - sudo chmod 750 /home/git/.gitolite/ - sudo chown -R git:git /home/git/.gitolite/ + chmod 750 /home/git/.gitolite/ + chown -R git:git /home/git/.gitolite/ Fix the directory permissions for the repositories: # Make sure the repositories dir is owned by git and it stays that way - sudo chmod -R ug+rwX,o-rwx /home/git/repositories/ - sudo chown -R git:git /home/git/repositories/ - sudo -u git -H find /home/git/repositories -type d -print0 | sudo xargs -0 chmod g+s + chmod -R ug+rwX,o-rwx /home/git/repositories/ + chown -R git:git /home/git/repositories/ + -u git -H find /home/git/repositories -type d -print0 | sudo xargs -0 chmod g+s ## Add domains to list to the list of known hosts - sudo -u gitlab -H ssh git@localhost - sudo -u gitlab -H ssh git@YOUR_DOMAIN_NAME - sudo -u gitlab -H ssh git@YOUR_GITOLITE_DOMAIN_NAME + -u gitlab -H ssh git@localhost + -u gitlab -H ssh git@YOUR_DOMAIN_NAME + -u gitlab -H ssh git@YOUR_GITOLITE_DOMAIN_NAME ## Test if everything works so far # Clone the admin repo so SSH adds localhost to known_hosts ... # ... and to be sure your users have access to Gitolite - sudo -u gitlab -H git clone git@localhost:gitolite-admin.git /tmp/gitolite-admin + -u gitlab -H git clone git@localhost:gitolite-admin.git /tmp/gitolite-admin # If it succeeded without errors you can remove the cloned repo - sudo rm -rf /tmp/gitolite-admin + rm -rf /tmp/gitolite-admin **Important Note:** If you can't clone the `gitolite-admin` repository: **DO NOT PROCEED WITH INSTALLATION**! @@ -185,13 +185,13 @@ To setup the MySQL/PostgreSQL database and dependencies please see [`doc/install ## Clone the Source # Clone GitLab repository - sudo -u gitlab -H git clone https://github.com/gitlabhq/gitlabhq.git gitlab + -u gitlab -H git clone https://github.com/gitlabhq/gitlabhq.git gitlab # Go to gitlab dir cd /home/gitlab/gitlab # Checkout to stable release - sudo -u gitlab -H git checkout 4-2-stable + -u gitlab -H git checkout 4-2-stable **Note:** You can change `4-2-stable` to `master` if you want the *bleeding edge* version, but @@ -202,23 +202,23 @@ do so with caution! cd /home/gitlab/gitlab # Copy the example GitLab config - sudo -u gitlab -H cp config/gitlab.yml.example config/gitlab.yml + -u gitlab -H cp config/gitlab.yml.example config/gitlab.yml # Make sure to change "localhost" to the fully-qualified domain name of your # host serving GitLab where necessary - sudo -u gitlab -H vim config/gitlab.yml + -u gitlab -H vim config/gitlab.yml # Make sure GitLab can write to the log/ and tmp/ directories - sudo chown -R gitlab log/ - sudo chown -R gitlab tmp/ - sudo chmod -R u+rwX log/ - sudo chmod -R u+rwX tmp/ + chown -R gitlab log/ + chown -R gitlab tmp/ + chmod -R u+rwX log/ + chmod -R u+rwX tmp/ # Make directory for satellites - sudo -u gitlab -H mkdir /home/gitlab/gitlab-satellites + -u gitlab -H mkdir /home/gitlab/gitlab-satellites # Copy the example Unicorn config - sudo -u gitlab -H cp config/unicorn.rb.example config/unicorn.rb + -u gitlab -H cp config/unicorn.rb.example config/unicorn.rb **Important Note:** Make sure to edit both files to match your setup. @@ -226,10 +226,10 @@ Make sure to edit both files to match your setup. ## Configure GitLab DB settings # Mysql - sudo -u gitlab cp config/database.yml.mysql config/database.yml + -u gitlab cp config/database.yml.mysql config/database.yml # PostgreSQL - sudo -u gitlab cp config/database.yml.postgresql config/database.yml + -u gitlab cp config/database.yml.postgresql config/database.yml Make sure to update username/password in config/database.yml. @@ -237,13 +237,13 @@ Make sure to update username/password in config/database.yml. cd /home/gitlab/gitlab - sudo gem install charlock_holmes --version '0.6.9' + gem install charlock_holmes --version '0.6.9' # For MySQL (note, the option says "without") - sudo -u gitlab -H bundle install --deployment --without development test postgres + -u gitlab -H bundle install --deployment --without development test postgres # Or for PostgreSQL - sudo -u gitlab -H bundle install --deployment --without development test mysql + u gitlab -H bundle install --deployment --without development test mysql ## Configure Git @@ -251,49 +251,49 @@ GitLab needs to be able to commit and push changes to Gitolite. In order to do that Git requires a username and email. (We recommend using the same address used for the `email.from` setting in `config/gitlab.yml`) - sudo -u gitlab -H git config --global user.name "GitLab" - sudo -u gitlab -H git config --global user.email "gitlab@localhost" + -u gitlab -H git config --global user.name "GitLab" + -u gitlab -H git config --global user.email "gitlab@localhost" ## Setup GitLab Hooks - sudo cp ./lib/hooks/post-receive /home/git/.gitolite/hooks/common/post-receive - sudo chown git:git /home/git/.gitolite/hooks/common/post-receive + cp ./lib/hooks/post-receive /home/git/.gitolite/hooks/common/post-receive + chown git:git /home/git/.gitolite/hooks/common/post-receive ## Initialise Database and Activate Advanced Features - sudo -u gitlab -H bundle exec rake gitlab:setup RAILS_ENV=production + -u gitlab -H bundle exec rake gitlab:setup RAILS_ENV=production ## Install Init Script Download the init script (will be /etc/init.d/gitlab): - sudo curl --output /etc/init.d/gitlab https://raw.github.com/gitlabhq/gitlab-recipes/4-2-stable/init.d/gitlab - sudo chmod +x /etc/init.d/gitlab + curl --output /etc/init.d/gitlab https://raw.github.com/gitlabhq/gitlab-recipes/4-2-stable/init.d/gitlab + chmod +x /etc/init.d/gitlab Make GitLab start on boot: - sudo update-rc.d gitlab defaults 21 + update-rc.d gitlab defaults 21 ## Check Application Status Check if GitLab and its environment is configured correctly: - sudo -u gitlab -H bundle exec rake gitlab:env:info RAILS_ENV=production + -u gitlab -H bundle exec rake gitlab:env:info RAILS_ENV=production To make sure you didn't miss anything run a more thorough check with: - sudo -u gitlab -H bundle exec rake gitlab:check RAILS_ENV=production + -u gitlab -H bundle exec rake gitlab:check RAILS_ENV=production If all items are green, then congratulations on successfully installing GitLab! However there are still a few steps left. ## Start Your GitLab Instance - sudo service gitlab start + service gitlab start # or - sudo /etc/init.d/gitlab restart + /etc/init.d/gitlab restart # 7. Nginx @@ -303,25 +303,25 @@ If you can't or don't want to use Nginx as your web server, have a look at the "Advanced Setup Tips" section. ## Installation - sudo apt-get install nginx + apt-get install nginx ## Site Configuration Download an example site config: - sudo curl --output /etc/nginx/sites-available/gitlab https://raw.github.com/gitlabhq/gitlab-recipes/4-2-stable/nginx/gitlab - sudo ln -s /etc/nginx/sites-available/gitlab /etc/nginx/sites-enabled/gitlab + curl --output /etc/nginx/sites-available/gitlab https://raw.github.com/gitlabhq/gitlab-recipes/4-2-stable/nginx/gitlab + ln -s /etc/nginx/sites-available/gitlab /etc/nginx/sites-enabled/gitlab Make sure to edit the config file to match your setup: # Change **YOUR_SERVER_IP** and **YOUR_SERVER_FQDN** # to the IP address and fully-qualified domain name # of your host serving GitLab - sudo vim /etc/nginx/sites-enabled/gitlab + vim /etc/nginx/sites-enabled/gitlab ## Restart - sudo /etc/init.d/nginx restart + /etc/init.d/nginx restart # Done! -- GitLab