LoginSignup
7
6

More than 5 years have passed since last update.

GitLab Omnibusロゴ差し替えスクリプト

Last updated at Posted at 2015-03-30

研究室のGitLabをfrom sourceからOmnibus packageに移行した.
そこでロゴ(狐)の差し替えをする際に少しハマり,スクリプトを書いたのでメモしておく.

7.13以上対応版

GitLab 7.13で,GitLabのロゴがオシャレになった.

この影響で,pngがsvgに差し替えられるなどの変更があったので,スクリプトを更新した.
svgの作成には,無料化されたMicrosoft Expression Design 4を使用した.

  • /opt/gitlab/embedded/service/gitlab-rails/app/assets/images/favicon.ico
  • /opt/gitlab/embedded/service/gitlab-rails/app/assets/images/logo.svg (210x210px)
  • /opt/gitlab/embedded/service/gitlab-rails/public/favicon.ico
  • /opt/gitlab/embedded/service/gitlab-rails/public/apple-touch-icon.png (210x210px)
  • /opt/gitlab/embedded/service/gitlab-rails/public/apple-touch-icon-precomposed.png (210x210px)
  • /opt/gitlab/embedded/service/gitlab-rails/public/logo.svg (210x210px)
update.sh
#!/bin/sh

sudo gitlab-ctl stop
sudo chown -R git:git /opt/gitlab/embedded/service/gitlab-rails/public/assets
sudo cp *.ico *.svg /opt/gitlab/embedded/service/gitlab-rails/app/assets/images/
sudo cp *.ico *.png *.svg /opt/gitlab/embedded/service/gitlab-rails/public/
sudo gitlab-rake assets:clean assets:precompile
sudo chown -R root:root /opt/gitlab/embedded/service/gitlab-rails/public/assets
sudo gitlab-ctl start

ロゴの差し替え方法

ロゴのpngの配置などは,Gitlabのロゴを差し替える - Qiitaに詳しく書かれている.
(今回使用したGitLab 7.9.1ではlogo-black.pngは不要なみたい.)

以下の2つのファイルを,適切なサイズの画像に差し替える.

  • /opt/gitlab/embedded/service/gitlab-rails/app/assets/images/brand_logo.png
  • /opt/gitlab/embedded/service/gitlab-rails/app/assets/images/logo-white.png

assets pipelineを更新する.ここでエラーが出て失敗した.

$ sudo gitlab-rake assets:precompile
rake aborted!
Errno::EACCES: Permission denied @ rb_sysopen - /opt/gitlab/embedded/service/gitlab-rails/public/assets/brand_logo-83a5201d76d99b08d6ee58076626a452.png
...

public/assets/のownerがrootになっているのが原因のようだ.

解決方法

public/assets/のownerをgitにしてからassets:precompileし,元に戻すことにした.
GitLabの更新の度に作業するのは面倒なので,ShellScriptを書いた.

update.sh
#!/bin/sh

sudo gitlab-ctl stop
sudo chown -R git:git /opt/gitlab/embedded/service/gitlab-rails/public/assets
sudo cp *.png /opt/gitlab/embedded/service/gitlab-rails/app/assets/images/
sudo gitlab-rake assets:clean assets:precompile
sudo chown -R root:root /opt/gitlab/embedded/service/gitlab-rails/public/assets
sudo gitlab-ctl start

以下のようにpngとスクリプトを配置して./update.shを実行すれば良い.

gitlab_logo
|-- brand_logo.png
|-- logo-white.png
|-- update.sh

おわりに

gitlab.png

今後の研究室サーバの引き継ぎも考えて,Omnibusに移行しました.
gitlab:backup:createして,MySQLからPostgreSQLに変換して,リストアするだけなので簡単ですね.
作業に当たり,下記を参考にしました.

7
6
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
6