目 录CONTENT

文章目录

搭建bitbucket代码托管平台

筱晶哥哥
2021-12-25 / 0 评论 / 0 点赞 / 34 阅读 / 10130 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2024-03-23,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

本文讲解bitbucket代码托管平台的搭建步骤。

以centos镜像为基础构建已安装jdk的镜像

前提

你的服务器上面有docker环境,没有的话,请去安装。

构建镜像

官方网站下载jdk安装包,我搭建的时候用的 jdk-8u231-linux-x64.tar.gz

我将我下载的安装包文件等,都放到了服务器的 /mydata/tools 下。

 # 创建镜像构建目录
mkdir -p /mydata/tools
# 进入镜像构建目录
cd /mydata/tools 
# 将下载的jdk安装包 jdk-8u231-linux-x64.tar.gz 上传到该目录
# 创建构建文件
vim Dockerfile 

构建文件内容如下:

FROM centos

# 更新系统及更新源(可与其他构建共享此镜像层)
RUN yum -y update \
&& yum -y install epel-release

# 追加jdk安装包
ADD jdk-8u231-linux-x64.tar.gz /usr/local/
 
# 安装jdk
RUN echo export JAVA_HOME=/usr/local/jdk1.8.0_231 >> /etc/profile \
&& echo export JAVA_BIN=/usr/local/jdk1.8.0_231/bin >> /etc/profile \
&& echo export PATH=$PATH:$JAVA_HOME/bin >> /etc/profile \
&& echo export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar >> /etc/profile \
&& echo export JAVA_HOME JAVA_BIN PATH CLASSPATH >> /etc/profile \
&& source /etc/profile \
&& cd /usr/bin \
&& ln -s -f /usr/local/jdk1.8.0_231/jre/bin/java \
&& ln -s -f /usr/local/jdk1.8.0_231/bin/javac
 
# 启动监听
CMD /bin/bash

构建镜像

# 构建镜像,且镜像名为 1centos-jdk
docker build -t centos-jdk .

注:该镜像在安装其他需要jdk的atlassian工具时,也可以使用。

以centos-jdk镜像为基础启动容器

docker run \
-dit \
--name tool_bitbucket \
-p 7990:7990 \
-v /mydata/atlassian/bitbucket:/var/atlassian/bitbucket \
centos-jdk

下载相关安装包

image-20211225155728051

# 进入安装包目录
cd /mydata/tools 

# 下载git安装包
wget https://github.com/git/git/archive/v2.16.1.tar.gz
# 从atlassian下载bitbucket安装包(宿主机中执行)
wget https://www.atlassian.com/software/stash/downloads/binary/atlassian-bitbucket-5.8.0.tar.gz 
# 从mysql官方下载mysql的java驱动(宿主机中执行)
wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.45.tar.gz 

# 解压缩git安装包(宿主机中执行)
tar zxf v2.16.1.tar.gz 
# 解压缩bitbucket安装包(宿主机中执行)
tar zxf atlassian-bitbucket-5.8.0.tar.gz 
# 解压缩mysql驱动包(宿主机中执行)
tar zxf mysql-connector-java-5.1.45.tar.gz 
# 将解压后的mysql驱动文件复制到bitbucket资源目录中
cp mysql-connector-java-5.1.45/mysql-connector-java-5.1.45-bin.jar atlassian-bitbucket-5.8.0/app/WEB-INF/lib/

# 这里最好还要下两个文件一个是 atlassian-extras-decoder-v2-3.3.0.jar
# 另一个是 atlassian-extras-legacy-3.3.0.jar 这两个文件,用于延长使用期限,要不只有使用期限。
# 下载好后,拷贝到bitbucket资源目录中,将原来的两个替换掉
cp atlassian-extras-decoder-v2-3.3.0.jar atlassian-bitbucket-5.8.0/app/WEB-INF/lib/
cp atlassian-extras-legacy-3.3.0.jar atlassian-bitbucket-5.8.0/app/WEB-INF/lib/

# 进入bitbucket执行文件目录
cd atlassian-bitbucket-5.8.0/bin 
# 开始编辑set-bitbucket-home.sh文件,编辑完成后保存退出
vi set-bitbucket-home.sh 
#------------------------
# 将以下:
BITBUCKET_HOME=
# 修改为:
BITBUCKET_HOME=/var/atlassian/bitbucket
#--------------------------

# 返回安装包目录
cd /mydata/tools 
# 将解压后的git安装文件复制到容器的/root/目录下(宿主机中执行)
docker cp git-2.16.1 tool_bitbucket:/root/ 
# 将解压后的bitbucket文件复制到容器的/root/目录下(宿主机中执行)
docker cp atlassian-bitbucket-5.8.0 tool_bitbucket:/root/ 

开始安装git

# 进入容器(宿主机中执行)
docker exec -it tool_bitbucket bash 
 
# 以下为容器中操作
# 安装git会依赖的包
yum -y install epel-release gcc gcc-c++ pcre pcre-devel zlib zlib-devel \
openssl openssl-devel libcurl-devel expat-devel \
perl perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker tcl gettext-devel

# 移除git原有版本
yum -y remove git 
 
# 进入git源文件目录
cd /root/git-2.16.1/ 
# 编译源文件
make prefix=/usr/local/git all 
# 安装git
make prefix=/usr/local/git install 
# 将git安装路径配置到配置文件
echo export PATH=$PATH:.:/usr/local/git/bin >> /etc/profile
# 重新加载配置文件,使新配置生效
source /etc/profile 
# 查看git版本
git --version 
# 出现以下内容即为成功
git version 2.16.1

注:如果重启bitbucket,出现什么 jre-home等相关字眼,可以先检查下 git 命令是否可用。

如果不可用了,可以重新执行下上面的命令。(我遇到过这个问题,这里记录下)

开始安装bitbucket(仍在容器中操作)

# 进入bitbucket执行文件目录(容器中执行)
cd /root/atlassian-bitbucket-5.8.0/bin
# 执行bitbucket启动文件
./start-bitbucket.sh 

宿主机配置反向代理

# 进入安装包目录
cd /mydata/tools
# 下载 nginx-1.14.2.tar.gz
wget http://nginx.org/download/nginx-1.14.2.tar.gz
# Nginx的安装需要确定Linux安装相关的几个库,否则配置和编译会出现错误
yum install gcc openssl openssl-devel pcre pcre-devel zlib zlib-devel -y
# 解压
tar -zxvf nginx-1.14.2.tar.gz
cd nginx-1.14.2
# (其中--prefix是指定nginx安装路径) 注意:等号左右不要有空格
./configure --prefix=/usr/local/nginx 
# 执行命令进行编译安装
make && make install

修改配置文件

vim /usr/local/nginx/conf/nginx.conf

# 添加如下内容配置反向代理,即通过网址访问本机的8080端口,代理到7990端口上
# 而 7990 端口通过端口映射和 docker 容器绑定着,自然可以访问到 bitbucket
server {
	listen   8080;
	location / {
		proxy_pass http://localhost:7990;
		proxy_read_timeout 6000s;
		proxy_set_header   Host    $host:$server_port;
		proxy_set_header   X-Real-IP   $remote_addr;
		proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
		client_max_body_size 1024M;
	}
}

启动和关停命令

# 使用绝对路径根据配置文件执行启动命令
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf 
# 关闭nginx
/usr/local/nginx/sbin/nginx -s stop

当然上述 nginx 安装通过docker镜像创建也行,这里只是复习一下 nginx 的安装使用。

登陆bitbucket并配置

记得如果是云服务器的话,要把端口安全策略打开,要不没权限访问不了。

访问 ip:8080,即可打开bitbucket配置页面。

配置过程中可能会让你输入 license,去官网生成一个试用的。

这里我一开始不知道是试用的,我知道是试用的后,我用上面的方式延长了使用期限。

所以我安装的时候是先输入 license,进入系统,才去下载之前的那两个jar包,然后重新启动就延长了。

我不知道先上传那两个jar包,安装会不会有问题,如果出问题了,那就后上传那两个jar包。

配置完成后即可正常使用bitbucket。

中文包

点我去下载

image-20211225160200629

上传好了,刷新一下页面就是中文了。

数据迁移

我由于不知道这玩意默认用的什么数据库,可能是我中间有什么过程漏了,打开页面也没让我配置数据库,然后页面上还有红色提示,打开后台后上面显示用的内部数据库,我不知道靠不靠谱。

然后我去数据迁移模块将数据迁移到 PostgreSQL 上了。

通过 Docker 安装 PostgreSQL:

docker run --name postgresql -e POSTGRES_PASSWORD=你的密码 -p 5432:5432 -d postgres:9.4 

注意

postgres镜像默认的用户名和库名好像为postgres,登陆密码为创建容器时指定的值。

这玩意可以通过 DataGrip 连接管理,不得不说 DataGrip 真强大。

然后数据迁移的时候,指定 PostgreSQL 输入对应值,测试下连接,然后迁移就行了。

0

评论区