在Ubuntu/Debian Linux上安装Gitbucket

时间:2020-02-23 14:44:38  来源:igfitidea点击:

Gitbucket是一个由Scala提供支持的基于Web的Git平台。
在我们以前的教程中,我们涵盖了如何安装Gitlab,Gitea和SVN。
在这篇文章中,我们将讨论如何在Ubuntu 18.04/Ubuntu 19.04/Ubuntu 16.04上安装Gitbucket。
以下是Gitbucket的有趣功能.Provides一个直观的UIit易于安装手段可以通过PlugInshas API与GithubSupport for Gitlfsupport的Gitlfsupport兼容,用于公共和私有Git Reposities.Repository查看器,包括帐户和组管理的在线文件编辑器集成

在Ubuntu/Debian上安装Gitbucket

Gitbucket的主要要求是Java8.
确保在Ubuntu/Debian Linux上安装了这一点。

sudo apt install -y default-jdk

安装了Java后,从"发布"页面下载最新的Gitbucket.war。
就像这种写作一样,这是版本 4.33.1

export VER="4.33.0"
wget https://github.com/gitbucket/gitbucket/releases/download/$VER/gitbucket.war

创建Gitbucket用户和组。

sudo groupadd -g 555 gitbucket
sudo useradd \
  -g gitbucket --no-user-group \
  --home-dir /opt/gitbucket --no-create-home \
  --shell /usr/sbin/nologin \
  --system --uid 555 gitbucket

创建/opt/gitbucket目录

sudo mkdir /opt/gitbucket

移动 gitbucket.war文件到/opt/gitbucket

sudo mv gitbucket.war /opt/gitbucket

让Gitbucket的所有者成为Gitbucket:Gitbucket用户:

sudo chown -R gitbucket:gitbucket /opt/gitbucket

为Gitbucket配置SystemD服务

我们可以使用systemd运行Java应用程序。
阅读更多关于如何使用Linux上的SystemD运行Java JAR应用程序

创建SystemD服务文件。

sudo vim /etc/systemd/system/gitbucket.service

添加

# GitBucket Service
[Unit]
Description=Manage Java service
[Service]
WorkingDirectory=/opt/gitbucket
ExecStart=/usr/bin/java -Xms128m -Xmx256m -jar gitbucket.war
User=gitbucket
Group=gitbucket
Type=simple
Restart=on-failure
RestartSec=10
[Install]
WantedBy=multi-user.target

我们可以指定以下选项: --port=[NUMBER]--prefix=[CONTEXTPATH]--host=[HOSTNAME]--gitbucket.home=[DATA_DIR]--temp_dir=[TEMP_DIR]--max_file_size=[MAX_FILE_SIZE]如果Java在不同的路径中,请使用 which java并在Systemd单元文件中设置路径。

添加文件后重新加载系统

sudo systemctl daemon-reload

启动服务并将其设置为在启动时启动。

sudo systemctl enable --now gitbucket

确认服务状态

$sudo systemctl status gitbucket
 gitbucket.service - Manage Java service
 Loaded: loaded (/etc/systemd/system/gitbucket.service; enabled; vendor preset: enabled)
 Active: active (running) since Wed 2019-03-13 21:43:01 PDT; 6min ago
 Main PID: 1751 (java)
 Tasks: 27 (limit: 1110)
 CGroup: /system.slice/gitbucket.service
        `-1751 /usr/bin/java -Xms128m -Xmx256m -jar gitbucket.war 
 Mar 13 21:43:07 ubuntu-01 java[1751]: 21:43:07.439 [main] INFO  o.quartz.impl.DirectSchedulerFactory - Quartz scheduler 'QuartzScheduler~job
 Mar 13 21:43:07 ubuntu-01 java[1751]: 21:43:07.439 [main] INFO  o.quartz.impl.DirectSchedulerFactory - Quartz scheduler version: 2.3.0
 Mar 13 21:43:07 ubuntu-01 java[1751]: 21:43:07.442 [main] INFO  org.quartz.core.QuartzScheduler - Scheduler QuartzScheduler~job_$_job started.
 Mar 13 21:43:07 ubuntu-01 java[1751]: [INFO] [03/13/2019 21:43:07.462] [main] [[QuartzScheduler~job]] Initialized calendars:
 Mar 13 21:43:07 ubuntu-01 java[1751]: [INFO] [03/13/2019 21:43:07.467] [main] [[QuartzScheduler~job]] Setting up scheduled job 'Daily', with 'com.types
 Mar 13 21:43:07 ubuntu-01 java[1751]: 21:43:07.494 [main] INFO  o.scalatra.servlet.ScalatraListener - The cycle class name from the config: ScalatraBoo
 Mar 13 21:43:07 ubuntu-01 java[1751]: 21:43:07.496 [main] INFO  o.scalatra.servlet.ScalatraListener - Initializing life cycle class: ScalatraBootstrap
 Mar 13 21:43:08 ubuntu-01 java[1751]: 2019-03-13 21:43:08.072:INFO:oejsh.ContextHandler:main: Started Hyman@theitroad{/,file:///opt/gitbu
 Mar 13 21:43:08 ubuntu-01 java[1751]: 2019-03-13 21:43:08.100:INFO:oejs.AbstractConnector:main: Started Hyman@theitroad{HTTP/1.1,[http/1.1]}{0.
 Mar 13 21:43:08 ubuntu-01 java[1751]: 2019-03-13 21:43:08.101:INFO:oejs.Server:main: Started @6821ms

访问gitbucket web ui

http://[hostname]:8080/访问Gitbucket Web界面。

转到登录部分。

默认登录是:

Username: root
Password: root

在帐户设置下更改root密码

接下来是什么?

默认情况下,Gitbucket在嵌入式H2数据库上运行。
对于生产使用,建议配置以使用外部数据库

还要考虑: 1.为电子邮件提醒配置SMTP 2.配置添加插件Gitbucket-Gist-Plugin Gitbucket-Emoji-Plugin Gitbucket-Pages-plugingitbucket-notifications-plugin

我们可以在Gitbucket社区插件中找到更多由社区制作的插件。 3.启用SSH访问存储库

执行gitbucket备份

Gitbucket安装的备份应在数据库状态和Git存储库的状态之间一致。
有一个备份脚本可用于自动执行此任务。
查看Gitbucket备份教程以获取更多详细信息。