操作系统为Ubuntu 16, 总体来说Jira的安装步骤为:
- 安装数据库,新建数据库(本为为mysql5.7)
- 安装Jira.(本文环境为7.12.1)
- 去官网获取试用码。
- 破解Jira。(替换jar)
- 配置Nginx
1.安装数据库,新建数据库
Mysql的官网Docker地址为:hub.docker.com/r/cytopia/m…。
- 拉取指定版本的Mysql镜像:
docker pull mysql:5.7
- 启动mysql,并指定数据存储地址
docker run -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -p 3306:3306 mysql
-
新建数据库
- 安装mysql-client:
apt-get install mysql-client-5.7- 使用mysql-client连接容器中mysql服务端。
mysql -uroot -hlocalhost -p注意此时的localhost可能不能使用,需要使用本地ip地址(10.2.16.4);密码为第2步指定的MYSQL_ROOT_PASSWORD。
- 创建Jira存储数据使用的数据库(名字自由指定,我的为jira) 创建数据库的命令是:
create database jira default charset utf8 COLLATE utf8_general_ci;删除数据库的命令是:
DROP DATABASE IF EXISTS jira;
2.安装Jira
Jira的Docker地址为:hub.docker.com/r/cptaction…
- 拉取Stars最高的jira(当前最新版本为7.12.1)镜像:docker pull cptactionhank/atlassian-jira
- 运行Jira.我在此耽误了不少时间,忠告各位:如果在使用Nginx的情况下,一定要指定Jira镜像的参数(X_PROXY_NAME为外网ip或者域名,X_PROXY_PORT外网端口号,X_PROXY_SCHEME外网http或https,X_PATH默认该服务的运行在/下)
docker run --detach --publish 8081:8080 -e X_PATH=/jira -e X_PROXY_NAME=39.xx.94.xxx -e X_PROXY_PORT=80 -e X_PROXY_SCHEM=http cptactionhank/atlassian-jira:latest
此时浏览器打开http://ip:port/jira可以看到设置界面。
3.设置Jira,官网获取试用码激活Jira
浏览器打开http://ip:port/jira,第一次进入系统需要设置数据库链接信息和激活码。
- 填写数据库连接信息,数据库地址不能使用localhost,需要填写外网ip或者内网ip.
- Jira获取试用码的地址为:my.atlassian.com/products/in…(自行备梯)注册账号填写组织信息后,点击“New Evaluation Lisence”获取为期一个月的试用码。(目的是:拿到试用码才能进入系统,然后破解为永久使用)。
破解Jar下载地址:pan.baidu.com/s/1qbRw5njQ…
4.破解Jira
- 查看Jira容器的id。
docker ps
- 替换破解的jar。
docker cp /home/atlassian-extras-3.2.jar a64:/opt/atlassian/jira/atlassian-jira/WEB-INF/lib/
第2步中 atlassian-extras可以自行查询后修改为目标版本。查询命令是:
docker exec -it a64 /bin/sh
cd /opt/atlassian/jira/atlassian-jira/WEB-INF/lib/
ls
即可查看到atlassian-extras的版本。
5.配置Nginx
Nginx的Docker地址为:hub.docker.com/_/nginx/
- 运行
Docker:docker run --name=nginx -p 80:80 -v /home/web/nginx/www:/usr/share/nginx/html -v /home/web/nginx/conf:/etc/nginx/conf.d -v /home/web/nginx/logs:/var/log/nginx -d nginx
1. /home/web/nginx/www:为静态文件存放地址
2. /home/web/nginx/conf下存放配置文件配置,配置文件的规则为:*.conf.
3. /home/web/nginx/logs为nginx日志;
福利模板Nginx:default.conf
server {
listen 80 default_server;
#charset koi8-r;
#access_log /var/log/nginx/host.access.log main;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
location /api/ {
proxy_pass http://172.17.5.4:8080/;
}
#参考地址https://github.com/cptactionhank/docker-atlassian-jira/blob/master/.docker/nginx/nginx.conf
location /jira/ {
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 100M;
proxy_pass http://172.17.5.4:8081/jira/;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
在Nginx下代理Jira如果配置不当有很多404.403错误。可通过重新进行《安装Jira》中设置X_PROXY_NAME,X_PROXY_PORT,X_PROXY_SCHEME,X_PATH解决。