0
点赞
收藏
分享

微信扫一扫

实现jira与gitlab的关联

Star英 2024-02-06 阅读 27
jiragitlab

一、docker安装gitlab

docker run --detach \
  --restart always \
  --publish 8433:443 --publish 880:80 --publish 822:22 \
  --name gitlab \
  --volume /home/gitlab/config:/etc/gitlab \
  --volume /home/gitlab/logs:/var/log/gitlab \
  --volume /home/gitlab/data:/var/opt/gitlab \
  gitlab/gitlab-ce:latest

-p 880:80  将容器内80端口映射至宿主机880端口,这是访问gitlab的端口

-p 822:22  将容器内22端口映射至宿主机822端口,这是访问ssh的端口

web访问gitlab: http://192.168.11.45:880

 

注册,使用注册的用户登录报错: Your account is pending approval from your GitLab administrator and hence blocked. Please contact your GitLab administrator if you think this is an error .

根据 (3条消息) Your account is pending approval from your GitLab administrator and hence blocked._唐僧骑白马的博客-CSDN博客所述, 更改管理员root的密码

password可能不符合密码规范要求,请自行更换成你自己的密码 。u.save返回True表明密码设置成功

重启gitlab容器

再次用 root/your_password登录。

 

问题:按照上述部署,gitlab创建项目的时候,生成的URl访问地址是按容器的hostname来生成的,也就是容器的id。

# 重点:接下来的配置请在容器内进行修改,不要在挂载到宿主机的文件上进行修改。否则可能出现配置更新不到容器内,或者是不能即时更新到容器内,导致gitlab启动成功,但是无法访问

>>> 需要在 gitlab.rb中配置http协议访问的地址, 把external_url改成部署机器的域名或者IP地址

##注意不要重启

   

>>> 修改 gitlab.yml (这一步原本不是必须的,因为 /etc/gitlab/gitlab.rb 内配置会 会映射到 /var/opt/gitlab/gitlab-rails/etc/gitlab.yml 这个文件,为了防止没有成功覆盖所以我在这里进行配置,当然你也可以选择不修改gitlab.rb直接修改这里)

让修改后的配置生效: gitlab-ctl reconfigure

重启gitlab: gitlab - ctl restart

退出容器: exit

   

web访问gitlab(eaxternal_url配置的就是这个) http://192.168.11.45:880,但此时你会 发现gitlab访问不了

根据 修改Docker部署gitlab的外部访问地址和端口_修改gitlab的访问url和端口_b哈利路亚d的博客-CSDN博客所言,因为默认会用这个端口号(external_url ' http://192.168.11.45:880')作为gitlab的nginx的监听端口。但因为我们这里其实是监听的80端口,所以要额外配置:

让修改后的配置生效: gitlab-ctl reconfigure

   

此时访问gitlab: http://192.168.11.45:880成功,查看仓库的下载地址如下:

经测试、HTTP与SSH方式均可成功拉取代码到本地。

二、docker安装jira、MySQL

2.1、安装Jira

制作JIra破解镜像:

Dockerfile:

FROM cptactionhank/atlassian-jira-software:7.13.1
USER root

# 将代理破解包加入容器
COPY "atlassian-agent.jar" /opt/atlassian/jira/

# 设置启动加载代理包
RUN echo 'export CATALINA_OPTS="-javaagent:/opt/atlassian/jira/atlassian-agent.jar ${CATALINA_OPTS}"' >> /opt/atlassian/jira/bin/setenv.sh

网上查找atlassian-agent.jar文件,将atlassian-agent.jar文件放置在Dockerfile同目录下。

  

构建镜像:

docker build -t jira/jira:7.13.1 .

运行Jira容器:   / home / jira / data与 / home / jira / logs目录不用提前创建,运行容器会自动在本地生成

docker run --detach \
  --restart always \
  -p 8091:8080 \
  -v /home/jira/data:/var/atlassian/jira \
  -v /home/jira/logs:/opt/atlassian/jira/logs \
  --name jira \
  jira/jira:7.13.1

2.2、安装MySQL与创建数据库

docker run --name mysql -d -p 3336:3306 -e MYSQL_ROOT_PASSWORD=Root_123 mysql:5.7 
注意可修改密码

在Jira数据库设置中会用到, 必须提前创建数据库jira

# 进入mysql容器
docker exec -it mysql /bin/bash
# 在容器中进入mysql,密码修改了的请修改命令
mysql -uroot -pRoot_123
# 创建jira数据库
CREATE DATABASE jira CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
# 退出mysql
exit
# 退出容器
exit

2.3、web访问Jira并设置

web访问: http://192.168.11.45:8091

然后我们选择第二项,进入下一步:

数据库设置,选择数据库类型,输入mysql服务的host,然后输入上面的数据库的名称和密码,然后进行下一步,然后就会到下面的页面。

点击“下一步”,弹出设置许可证密钥:

许可证生成步骤:

步骤1:进入容器内

docker exec -it  jira  /bin/bash

步骤2:到atlassian-agent.jar所在目录

cd /opt/atlassian/jira   

java -jar atlassian-agent.jar -d -m test@test.com -n ZQ -p jira -o http://92.168.11.45:7801 -s B5HX-6060-0LA3-HQ6T

  • # 通过破解包生成激活码

  • # -p 产品名称 jira

  • # -m 邮箱( test @ test.com

  • # -n 用户名,这个随意

  • # -o 部署的入口地址

  • # -s 服务器ID(BY9B-GWD1-1C78-K2DE)

拷贝生成的许可证,点击“下一步”:

设置管理员账户:

设置电子邮件通知:

初始页面:

三、Jira与Gitlab关联

3.1、在gitlab里设置jira集成

Web URL:输入Jira地址即可

Jira API URL:和Jira地址相同时,不需要输入

Username orEmail: Jira账号

Enter new Password orAPItoken:Jira账号的密码

测试配置ok:

3.2、Jira创建一个问题

3.3、象征性提供一个代码,附上Jira的ID

3.4、在gitlab里,可以看到本次提交commit信息里,关联的jira需求id,且可以跳转的

3.5、 在jira需求问题时,也可以看到gitlab的提交记录

举报

相关推荐

0 条评论