大家好,
隔了很久,我又来了。我有一些新的和有趣的东西。在本文中,我们将在主机上设置一个基于 Jira DataCenter/Server 的实例。
先决条件
现在让我们开始演示。 我正在使用 mac 进行此演示。
我们将首先创建一个自定义的mysql 选项文件 my-custom.conf。我通过以下方式创建了文件。
$ pwd/Users/cpandey/Docker$ cat mysql-conf/jiramysql/conf.d/my-custom.conf [mysqld]default-storage-engine=INNODBcharacter_set_server=utf8mb4innodb_default_row_format=DYNAMICinnodb_log_file_size=2Gsql_mode=NO_AUTO_VALUE_ON_ZERO
现在我将运行以下 docker 命令来运行 MySQL docker 映像。这里重要的一点是,作为卷,我提供my-custom.conf作为 MySQL 选项文件,并提供mysql-data 作为主机中的文件夹名称,以便它保留 MySQL 数据。我已将容器名称设置为jiramysql。
$ docker pull mysql$ sudo docker run --detach --name=jiramysql --env="MYSQL_ROOT_PASSword=password" --publish 6603:3306 --volume=/Users/cpandey/Development/Docker/mysql-data:/var/lib/mysql --volume=/Users/cpandey/Development/Docker/mysql-conf/jiramysql/conf.d:/etc/mysql/conf.d mysql$ sudo docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMESe16fe72d3be3 mysql "docker-entrypoint.s…" 9 minutes ago Up 9 minutes 33060/tcp, 0.0.0.0:6603->3306/tcp, :::6603->3306/tcp jiramysql7ecf80fa4caf postgres:latest "docker-entrypoint.s…" 4 weeks ago Up 27 minutes 0.0.0.0:6432->5432/tcp, :::6432->5432/tcp postgres1$ sudo docker exec -it jiramysql bashbash-4.4# mysql -uroot -ppasswordmysql: [Warning] Using a password on the command line interface can be insecure.Welcome to the MySQL monitor. Commands end with ; or g.Your MySQL connection id is 9Server version: 8.0.30 MySQL Community Server - GPLCopyright (c) 2000, 2022, Oracle and/or its affiliates.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.
现在我正在 MySQL 中为我的 Jira 设置创建一个用户和数据库。另外,我提供所有特权。
mysql> create database jiradb character set utf8mb4 collate utf8mb4_bin;Query OK, 1 row affected(0.01sec)mysql> create user 'jiradbuser' identified by 'jiradbpassword';Query OK, 0 rows affected (0.07 sec)mysql> grant all privileges on jiradb.* to 'jiradbuser'@'%' with grant option;Query OK, 0 rows affected (0.10 sec)mysql> flush privileges;Query OK, 0 rows affected (0.05 sec)
通过以下命令,我们可以查看 MySQL docker 容器的详细信息。
$ sudo docker ps|grep jiramysql35c9714543f9 mysql "docker-entrypoint.s…" 27 minutes ago Up 27 minutes 33060/tcp, 0.0.0.0:6603->3306/tcp, :::6603->3306/tcp jiramysql$ sudo docker inspect jiramysql|grep -A 16 -i mounts "Mounts": [ { "Type": "bind", "Source": "/Users/cpandey/Development/Docker/mysql-data", "Destination": "/var/lib/mysql", "Mode": "", "RW": true, "Propagation": "rprivate" }, { "Type": "bind", "Source": "/Users/cpandey/Development/Docker/mysql-conf/jiramysql/conf.d", "Destination": "/etc/mysql/conf.d", "Mode": "", "RW": true, "Propagation": "rprivate" }
我们必须按照以下方式设置 jira.home。Jira 默认在此文件夹中创建索引缓存、插件缓存和应用程序日志。
$ atlassian-jira-software-9.1.0-standalone$ mkdir jira-home$ atlassian-jira-software-9.1.0-standalone$ cat atlassian-jira/WEB-INF/classes/jira-Application.propertiesjira.home = /Users/cpandey/Development/JIRA_SOFTWARE/9_JIRA/atlassian-jira-software-9.1.0-standalone/jira-home
从这里下载 MySQL 驱动程序 jar 文件。我选择了平台无关选项进行下载。
将 MySQL 驱动程序 jar 复制到带有 Jira 安装文件夹的 lib 文件夹。我用的是
mysql-connector-JAVA-8.0.30.jar驱动版本。
$ atlassian-jira-software-9.1.0-standalone/lib$ ls -ltr|grep mysql-rw-r--r-- 1 cpandey cpandey 2513563 Jul 1 03:18 mysql-connector-java-8.0.30.jar
启动 Jira。
$ cd atlassian-jira-software-9.1.0-standalone/bin$ ./start-jira.sh
使用 URL http://localhost:8080访问 Jira 。如果页面加载成功,则选择“我将自行设置”。单击 下一步按钮。
现在我们要建立一个数据库,然后选择“我自己的数据库”。检查以下屏幕截图,了解主机、端口、数据库类型、数据库名称、用户名和密码详细信息。当我们将 MySQL 作为 docker 容器运行时,所有这些配置都来自我们之前的步骤。单击Test Connection,这应该是成功的。然后单击下一步按钮。
等待一段时间,因为现在执行数据库脚本以在 MySQL 中创建完整的 Jira 数据库。完成后,我们将获得此屏幕。
在此之后,我们将被要求提供许可证。出于演示目的,可以使用试用许可证。此外,一旦设置了许可证,我们接下来必须创建一个管理员用户,最后,我们将被要求设置我们可以稍后 设置的电子邮件通知 。
我们可以在[JIRA-HOME]/dbconfig.xml文件中查看 Jira 的数据库客户端配置。我们可以针对数据库池配置进一步调整该文件。
$ cd atlassian-jira-software-9.1.0-standalone/jira-home$ cat dbconfig.xml defaultDSname> defaultdelegator-name> mysql8database-type> jdbc:mysql://address=(protocol=tcp)(host=localhost)(port=6603)/jiradb?sessionVariables=default_storage_engine=InnoDBurl> com.mysql.cj.jdbc.Driverdriver-class> jiradbuserusername> jiradbpasswordpassword> 40pool-min-size> 40pool-max-size> 30000pool-max-wait> select 1validation-query> 60000min-evictable-idle-time-millis> 300000time-between-eviction-runs-millis> 40pool-max-idle> truepool-remove-abandoned> 300pool-remove-abandoned-timeout> falsepool-test-on-borrow> truepool-test-while-idle> 3validation-query-timeout> nullDatabaseMeansCurrent=trueconnection-properties> jdbc-datasource>jira-database-config>
而已。设置完成。我希望你觉得这篇文章有帮助。