Skip to content

Commit

Permalink
Merge pull request #17 from Strato-YangSungHun/main
Browse files Browse the repository at this point in the history
eventlistener management update
  • Loading branch information
Strato-YangSungHun authored Sep 23, 2024
2 parents d839563 + e2fe62d commit bbe28f8
Show file tree
Hide file tree
Showing 33 changed files with 839 additions and 153 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1 +1 @@
# MC-Workflow-ManagerThe **MC-Workflow-Manager** is a key component of the [M-CMP](https://github.com/m-cmp/docs/tree/main) platform. It facilitates the creation and management of multi-cloud infrastructures through workflows, enabling the seamless deployment of applications across multiple clouds.## Features- Workflow creation and execution- Workflow Stage management- Workflow management---## Table of Contents1. [System Requirements](#system-requirements)2. [Installation with Docker Compose](#installation-with-docker-compose)3. [Project Structure](#project-structure)4. [Run Instructions](#run-instructions)5. [Contributing](#contributing)6. [License](#license)---## System RequirementsTo use **mc-workflow-manager**, ensure your system meets the following requirements:- **Operating System**: Linux (Ubuntu 22.04 LTS recommended)- **Java**: OpenJDK 11+- **Gradle**: v7.6+- **Docker**: v24.0.2+- **Jenkins**: v2.424+- **Git**: Latest version---## Installation with Docker ComposeThe easiest way to deploy **mc-workflow-manager** is via Docker Compose. Follow the steps below to get started.### Step 1: Clone the RepositoryFirst, clone the `mc-workflow-manager` repository to your local machine:```bashgit clone https://github.com/m-cmp/mc-workflow-manager.gitcd mc-workflow-manager```### Step 2: Configure Environment VariablesYou can customize the following environment variables in the docker-compose.yaml file:- DB_INIT_YN: Database initialization (create or reuse)- DB_ID: Database user ID- DB_PW: Database user password Edit these environment variables according to your needs.### Step 3: Install and Run Docker ComposeTo bring up the mc-workflow-manager service along with its dependencies, run the following command:```bashsudo apt updatesudo apt install -y docker-composesudo docker-compose up -d```This command will pull the necessary Docker images, build the services, and start the containers in detached mode.### Step 4: Access the ApplicationOnce the services are up, you can access the following endpoints:- Swagger UI: http://<Public_IP>:18083/swagger-ui/index.html- Jenkins UI: http://<Public_IP>:9800- Workflow Manager UI: - http://<Public_IP>:18083 - OSS Management: http://<Public_IP>:18083/web/oss/list - Workflow Stage Management: http://<Public_IP>:18083/web/workflowStage/list - Workflow Management: http://<Public_IP>:18083/web/workflow/list - Event Listener Management: http://<Public_IP>:18083/web/eventListener/list### Step 5: Stop ServicesTo stop the running services, use:```bashsudo docker-compose down```This will gracefully shut down the containers without removing volumes, allowing you to preserve the state of the database.---## Project Structure```bashmc-workflow-manager/├── docker-compose.yaml # Docker Compose file for service orchestration├── src/ # Source code for the Workflow Manager├── script/ # Helper scripts for build and execution├── README.md # Project documentation├── LICENSE # License information└── docs/ # Additional documentation```---## Run Instructions### Manual Build and RunIf you prefer to build and run the project manually, follow these steps:- Install Git ```bash sudo apt update sudo apt install -y git ```- Download mc-workflow-manager Source Code ```bash cd $HOME git clone https://github.com/m-cmp/mc-workflow-manager.git export PROJECT_ROOT=$(pwd)/mc-workflow-manager ```- Install Required Packages/Tools and Set Environment Variables - Install Java, Docker ```bash cd $PROJECT_ROOT/script sudo chmod +x *.sh . $PROJECT_ROOT/script/init-install.sh ``` - Set Environment Variables ```bash cd $PROJECT_ROOT/script . $PROJECT_ROOT/script/set_env.sh source $HOME/.bashrc ```- Build and Run - Execute Shell Script ```bash # Run Jenkins . $PROJECT_ROOT/script/run-jenkins.sh # Build Springboot Project . $PROJECT_ROOT/script/build-mc-workflow.sh # Run Springboot Project . $PROJECT_ROOT/script/run-mc-workflow.sh ```### Refer to Set WorkflowEngin(Jenkins)**1. Access the Jenkins container**```bashsudo docker exec -it jenkins /bin/bash```**2. Inside the container, retrieve the initial admin password**```bashcat /var/jenkins_home/secrets/initialAdminPassword```**3. Copy the string that appears after running the cat command.****4. Open Chrome browser and navigate to `http://<Public IP>:9800` Jenkins Unlock Page**![img_4.png](document/img_4.png)**5. Paste the copied string into the password field.****6. Click `Install suggested plugins` Button**![img_5.png](document/img_5.png)![img_6.png](document/img_6.png)**7. Insert User Information**![img_1.png](document/img_1.png)![img_2.png](document/img_2.png)![img_3.png](document/img_3.png)**This process will complete the initial setup of Jenkins**---## ContributingWe welcome contributions to the **mc-workflow-manager** project! To get involved, follow these steps:1. Fork the repository on GitHub.2. Create a feature branch: ```git checkout -b feature-branch```.3. Commit your changes: ```git commit -m "Add new feature"```.4. Push the branch: ```git push origin feature-branch```.5. Open a Pull Request.6. For detailed guidelines, refer to the Contributing Guide.---## LicenseThis project is licensed under the terms of the Apache 2.0 License. See the LICENSE file for details.
# MC-Workflow-Manager**MC-Workflow-Manager** is one of the components of the [M-CMP](https://github.com/m-cmp/docs/tree/main) platform. With **MC-Workflow-Manager**, you can easily create and execute workflows, as well as modify and delete them as needed. For example, it allows you to create and manage multi-cloud infrastructures and seamlessly deploy applications across multiple clouds.## Features- Workflow creation and execution- Workflow Stage management- Workflow management---## Table of Contents1. [System Requirements](#system-requirements)2. [Installation with Docker Compose](#installation-with-docker-compose)3. [Project Structure](#project-structure)4. [Run Instructions](#run-instructions)5. [Contributing](#contributing)6. [License](#license)---## System RequirementsTo use **mc-workflow-manager**, ensure your system meets the following requirements:- **Operating System**: Linux (Ubuntu 22.04 LTS recommended)- **Java**: OpenJDK 17+- **Gradle**: v7.6+- **Docker**: v24.0.2+- **WorkflowEngine(Jenkins)**: v2.424+- **Git**: Latest version---## Installation with Docker ComposeThe easiest way to deploy **mc-workflow-manager** is via Docker Compose. Follow the steps below to get started.### Step 1: Clone the RepositoryFirst, clone the `mc-workflow-manager` repository to your local machine:```bashgit clone https://github.com/m-cmp/mc-workflow-manager.gitcd mc-workflow-manager```### Step 2: Configure Environment VariablesYou can customize the following environment variables in the docker-compose.yaml file:- DB_INIT_YN: Database initialization (create, update, create-drop, none ....)- DB_ID: Database user ID- DB_PW: Database user password- Edit these environment variables according to your needs.### Step 3: Install and Run Docker ComposeTo bring up the mc-workflow-manager service along with its dependencies, run the following command:```bashsudo apt updatesudo apt install -y docker-composesudo docker-compose up -d```This command will pull the necessary Docker images, build the services, and start the containers in detached mode.### Step 4: Access the ApplicationOnce the services are up, you can access the following endpoints:- Swagger UI: http://<Public_IP>:18083/swagger-ui/index.html- WorkflowEngine(Jenkins) UI: http://<Public_IP>:9800- Workflow Manager UI: - http://<Public_IP>:18083 - OSS Management: http://<Public_IP>:18083/web/oss/list - Workflow Stage Management: http://<Public_IP>:18083/web/workflowStage/list - Workflow Management: http://<Public_IP>:18083/web/workflow/list - Event Listener Management: http://<Public_IP>:18083/web/eventListener/list### Step 5: Stop ServicesTo stop the running services, use:```bashsudo docker-compose down```This will gracefully shut down the containers without removing volumes, allowing you to preserve the state of the database.---## Project Structure```bashmc-workflow-manager/├── docker-compose.yaml # Docker Compose file for service orchestration├── src/ # Source code for the Workflow Manager├── script/ # Helper scripts for build and execution├── README.md # Project documentation├── LICENSE # License information└── docs/ # Additional documentation```---## Run Instructions### Manual Build and RunIf you prefer to build and run the project manually, follow these steps:- Install Git ```bash sudo apt update sudo apt install -y git ```- Download mc-workflow-manager Source Code ```bash cd $HOME git clone https://github.com/m-cmp/mc-workflow-manager.git export PROJECT_ROOT=$(pwd)/mc-workflow-manager ```- Install Required Packages/Tools and Set Environment Variables - Install Java, Docker ```bash cd $PROJECT_ROOT/script sudo chmod +x *.sh . $PROJECT_ROOT/script/init-install.sh ``` - Set Environment Variables ```bash cd $PROJECT_ROOT/script . $PROJECT_ROOT/script/set_env.sh source $HOME/.bashrc ```- Build and Run - Execute Shell Script ```bash # Run Jenkins . $PROJECT_ROOT/script/run-jenkins.sh # Build Springboot Project . $PROJECT_ROOT/script/build-mc-workflow.sh # Run Springboot Project . $PROJECT_ROOT/script/run-mc-workflow.sh ```### Refer to Set WorkflowEngine(Jenkins)**1. Access the Jenkins container**```bashsudo docker exec -it we-jenkins /bin/bash```**2. Inside the container, retrieve the initial admin password**```bashcat /var/jenkins_home/secrets/initialAdminPassword```**3. Copy the string that appears after running the cat command.****4. Open Chrome browser and navigate to `http://<Public IP>:9800` Jenkins Unlock Page**![img_4.png](document/img_4.png)**5. Paste the copied string into the password field.****6. Click `Install suggested plugins` Button**![img_5.png](document/img_5.png)![img_6.png](document/img_6.png)**7. Insert User Information**![img_1.png](document/img_1.png)![img_2.png](document/img_2.png)![img_3.png](document/img_3.png)**This process will complete the initial setup of Jenkins**---## ContributingWe welcome contributions to the **mc-workflow-manager** project! To get involved, follow these steps:1. Fork the repository on GitHub.2. Create a feature branch: ```git checkout -b feature-branch```.3. Commit your changes: ```git commit -m "Add new feature"```.4. Push the branch: ```git push origin feature-branch```.5. Open a Pull Request.6. For detailed guidelines, refer to the Contributing Guide.---## LicenseThis project is licensed under the terms of the Apache 2.0 License. See the LICENSE file for details.
Expand Down
Loading

0 comments on commit bbe28f8

Please sign in to comment.