前言
Camunda
相對于其他流程引擎的優(yōu)勢在于開源性、BPMN 2.0
支持、可擴(kuò)展性、輕量級和高性能,以及可觀察性。并且Camunda
支持獨(dú)立平臺的方式部署流程引擎,這更有利于分布式的項(xiàng)目。本文以7.18.0
版本為例,介紹了:
- Docker
- Spring Boot
兩種安裝和部署 Camunda 流程引擎的方式。
1、Docker安裝
Docker
提供了一個(gè)簡便的方法來安裝和運(yùn)行各種應(yīng)用程序,包括 Camunda
流程引擎。Docker的安裝本文不進(jìn)行敘述,重點(diǎn)在使用 Docker進(jìn)行Camunda 的安裝和部署。
1.1、拉取Camunda BPM鏡像
拉取版本為7.18.0
的Camunda BPM
平臺鏡像,可以使用以下命令:
docker pull camunda/camunda-bpm-platform:7.18.0
1.2、編寫docker啟動camunda容器腳本
創(chuàng)建一個(gè)camunda-platform-dockerstart.sh
腳本,本文將該文件放在虛擬機(jī)/usr/local/camunda-platform/
目錄下,用于啟動docker中的Camunda容器。
首先,使用 chmod
命令來添加執(zhí)行權(quán)限:
sudo chmod +x /usr/local/camunda-platform/camunda-platform-dockerstart.sh
camunda-platform-dockerstart.sh
腳本內(nèi)容如下:
#!bin/bash
docker run -d --name camunda -p 8080:8080 \
-e DB_DRIVER=com.mysql.cj.jdbc.Driver \
-e DB_URL=jdbc:mysql://192.168.188.135:3306/camunda?nullCatalogMeansCurrent=true \
-e DB_USERNAME=root \
-e DB_PASSWORD=123456 \
-e WAIT_FOR=192.168.188.135:3306 \
camunda/camunda-bpm-platform:7.18.0
上述命令的解釋如下:
-
-d
:表示以后臺模式運(yùn)行容器。 -
--name camunda
:給容器命名為 “camunda”。 -
-p 8080:8080
:將主機(jī)的 8080 端口映射到容器的 8080 端口,這樣可以通過主機(jī)的 8080 端口訪問 Camunda BPM 平臺。 -
-e DB_DRIVER=com.mysql.cj.jdbc.Driver
:設(shè)置環(huán)境變量 DB_DRIVER 為 MySQL 數(shù)據(jù)庫的 JDBC 驅(qū)動名稱。 -
-e DB_URL=jdbc:mysql://192.168.188.135:3306/camunda?nullCatalogMeansCurrent=true
:設(shè)置環(huán)境變量
DB_URL 為 MySQL 數(shù)據(jù)庫的連接 URL,其中指定了數(shù)據(jù)庫的 IP 地址、端口號、數(shù)據(jù)庫名稱以及其他相關(guān)參數(shù)。 - -
e DB_USERNAME=root
:設(shè)置環(huán)境變量 DB_USERNAME 為 MySQL 數(shù)據(jù)庫的用戶名。 -
-e DB_PASSWORD=123456
:設(shè)置環(huán)境變量 DB_PASSWORD 為 MySQL 數(shù)據(jù)庫的密碼。 -
-e WAIT_FOR=192.168.188.135:3306
:設(shè)置環(huán)境變量 WAIT_FOR 為需要等待的 MySQL 數(shù)據(jù)庫的 IP 地址和端口號,表示容器將等待數(shù)據(jù)庫啟動后再啟動 Camunda 服務(wù)。 -
camunda/camunda-bpm-platform:7.18.0
:指定使用的 Camunda BPM 平臺的鏡像和版本。
本文采用的數(shù)據(jù)庫為mysql 8.0.26版本,如果使用mysql5.x版本,可以參考本篇文章:Camunda7.18流程引擎啟動出現(xiàn)Table ‘camunda_platform_docker.ACT_GE_PROPERTY‘的解決方案
1.3、docker啟動腳本
執(zhí)行以下命令:
sh /usr/local/camunda-platform/camunda-platform-dockerstart.sh && docker logs -f camunda
該命令由兩部分組成:
- 第一部分
sh /usr/local/camunda-platform/camunda-platform-dockerstart.sh
,執(zhí)行了一個(gè)名為camunda-platform-dockerstart.sh
的腳本。 - 第二部分是
docker logs -f camunda
,它會以實(shí)時(shí)模式顯示名為 “camunda” 的容器的日志。
通過一下命令可以查看啟動是否成功:
docker ps
補(bǔ)充:
如果啟動失敗,可以使用docker的刪除命令:
rm -f camunda
如果上述無效,可以采用第二種方法:
docker ps -a
上述命令可以找到進(jìn)程號,然后通過以下命令刪除啟動失敗的 “camunda” 容器。
docker rm 進(jìn)程號
1.4、訪問驗(yàn)證
首先,需要確認(rèn)在數(shù)據(jù)庫中存在以下49張表。
然后,通過:http://docker所在虛擬機(jī)的ip:8080/camunda
訪問。
例如:本文docker所在虛擬機(jī)的ip為`192.168.188.132`。
camunda流程引擎的初始Username
為:demo,Password
為:demo。出現(xiàn)下圖說明基于docker方式部署Camunda流程引擎成功。
2、SpringBoot啟動
搭建SpringBoot的前提條件:
-
jdk
版本需要1.8以上。 -
maven
版本需要3.6以上。
上述前提條件的搭建和安裝本文也不過多進(jìn)行敘述。
2.1、下載地址
進(jìn)入camunda流程引擎下載地址。
2.2、創(chuàng)建SpringBoot項(xiàng)目并配置基礎(chǔ)信息
往下翻,找到并點(diǎn)擊Camunda7 Community Download
。
點(diǎn)擊后,繼續(xù)往下翻,找到Generate a Spring Boot Project
,點(diǎn)擊Get Started
。
本文以7.18
版本為例,選擇的內(nèi)容如下圖:
設(shè)置的賬號和密碼還是demo(需要記住,用于后續(xù)的登錄),大家可以自定義。設(shè)置完成后點(diǎn)擊GNERATE PROJECT
。
2.3、下載SpringBoot項(xiàng)目并在idea中打開
點(diǎn)擊GNERATE PROJECT
后,網(wǎng)頁會自動下載該項(xiàng)目。
找個(gè)文件夾進(jìn)行解壓縮。
然后打開idea,并使用Open File or Project
打開該項(xiàng)目。
選擇Trust Project
。
2.4、pom修改
在pom文件中,屏蔽或者刪除h2
,并添加mysql-connector-java
的依賴。
<!-- <dependency>-->
<!-- <groupId>com.h2database</groupId>-->
<!-- <artifactId>h2</artifactId>-->
<!-- </dependency>-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
2.5、application.yml配置文件修改
application.yml
配置文件內(nèi)容如下
spring:
datasource:
url: jdbc:mysql://192.168.188.135:3306/camunda_springboot?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false
driver-class-name: com.mysql.cj.jdbc.Driver
username: root
password: 123456
camunda.bpm.admin-user:
id: demo
password: demo
上述配置代碼是用于配置 Spring Boot
項(xiàng)目中的數(shù)據(jù)源和 Camunda BPM
的管理員用戶。
在數(shù)據(jù)源部分,配置了一個(gè) MySQL
數(shù)據(jù)庫連接,具體配置項(xiàng)如下:
-
url
:數(shù)據(jù)庫的 URL,用于指定數(shù)據(jù)庫的位置和其他連接參數(shù)。 -
driver-class-name
:數(shù)據(jù)庫驅(qū)動的類名,這里使用的是 MySQL 的驅(qū)動類。 -
username
:連接數(shù)據(jù)庫的用戶名。 -
password
:連接數(shù)據(jù)庫的密碼。
在 Camunda BPM
管理員用戶部分,配置了一個(gè)管理員用戶的登錄信息:
-
id
:管理員用戶的用戶名。 -
password
:管理員用戶的密碼
2.6、登錄驗(yàn)證
首先,需要再次確認(rèn)1.4中數(shù)據(jù)庫中是否存在49張基礎(chǔ)表。
然后,使用以下地址:http://localhost:8080/
登陸。
輸入在2.2基礎(chǔ)配置中的賬號和密碼。本文的賬號和密碼均為:demo。 出現(xiàn)下圖說明基于springboot方式部署Camunda流程引擎成功。文章來源:http://www.zghlxwxcb.cn/news/detail-840606.html
3、總結(jié)
本文推薦的兩種安裝和部署 Camunda 流程引擎的方式:文章來源地址http://www.zghlxwxcb.cn/news/detail-840606.html
- Docker
- Spring Boot
到了這里,關(guān)于基于Docker和Springboot兩種方式安裝與部署Camunda流程引擎的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!