mirror of
				https://github.com/wazuh/wazuh-docker.git
				synced 2025-11-04 05:53:19 +00:00 
			
		
		
		
	* Update the Procedure push docker images workflow file
* Handle the build process exit code properly
This commit is contained in:
		@@ -1,22 +1,17 @@
 | 
				
			|||||||
 | 
					 | 
				
			||||||
run-name: Launch Push Docker Images - Executed by @${{ github.actor }}
 | 
					run-name: Launch Push Docker Images - Executed by @${{ github.actor }}
 | 
				
			||||||
name: Push Docker Images
 | 
					name: Push Docker Images
 | 
				
			||||||
 | 
					
 | 
				
			||||||
on:
 | 
					on:
 | 
				
			||||||
  workflow_dispatch:
 | 
					  workflow_dispatch:
 | 
				
			||||||
    inputs:
 | 
					    inputs:
 | 
				
			||||||
      JENKINS_REFERENCE:
 | 
					 | 
				
			||||||
        description: 'wazuh-jenkins reference'
 | 
					 | 
				
			||||||
        required: true
 | 
					 | 
				
			||||||
        default: 'master'
 | 
					 | 
				
			||||||
      IMAGE_TAG:
 | 
					      IMAGE_TAG:
 | 
				
			||||||
        description: 'Docker image tag'
 | 
					        description: 'Docker image tag'
 | 
				
			||||||
        required: true
 | 
					 | 
				
			||||||
        default: '4.10.0'
 | 
					        default: '4.10.0'
 | 
				
			||||||
 | 
					        required: true
 | 
				
			||||||
      DOCKER_REFERENCE:
 | 
					      DOCKER_REFERENCE:
 | 
				
			||||||
        description: 'wazuh-docker reference'
 | 
					        description: 'wazuh-docker reference'
 | 
				
			||||||
 | 
					        default: 'v4.10.0'
 | 
				
			||||||
        required: true
 | 
					        required: true
 | 
				
			||||||
        default: '4.10.0'
 | 
					 | 
				
			||||||
      PRODUCTS:
 | 
					      PRODUCTS:
 | 
				
			||||||
        description: 'Comma-separated list of the image names to build and push'
 | 
					        description: 'Comma-separated list of the image names to build and push'
 | 
				
			||||||
        default: 'wazuh-manager,wazuh-dashboard,wazuh-indexer'
 | 
					        default: 'wazuh-manager,wazuh-dashboard,wazuh-indexer'
 | 
				
			||||||
@@ -26,9 +21,94 @@ on:
 | 
				
			|||||||
        required: true
 | 
					        required: true
 | 
				
			||||||
      REVISION:
 | 
					      REVISION:
 | 
				
			||||||
        description: 'Package revision'
 | 
					        description: 'Package revision'
 | 
				
			||||||
 | 
					        default: '1'
 | 
				
			||||||
        required: true
 | 
					        required: true
 | 
				
			||||||
      PUSH_IMAGES:
 | 
					      PUSH_IMAGES:
 | 
				
			||||||
        description: 'Push images'
 | 
					        description: 'Push images'
 | 
				
			||||||
        required: true
 | 
					 | 
				
			||||||
        type: boolean
 | 
					        type: boolean
 | 
				
			||||||
        default: true
 | 
					        default: true
 | 
				
			||||||
 | 
					        required: true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					jobs:
 | 
				
			||||||
 | 
					  build-and-push:
 | 
				
			||||||
 | 
					    runs-on: ubuntu-latest
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    steps:
 | 
				
			||||||
 | 
					    - name: Print inputs
 | 
				
			||||||
 | 
					      run: |
 | 
				
			||||||
 | 
					        echo "---------------------------------------------"
 | 
				
			||||||
 | 
					        echo "Running Procedure_push_docker_images workflow"
 | 
				
			||||||
 | 
					        echo "---------------------------------------------"
 | 
				
			||||||
 | 
					        echo "* BRANCH: ${{ github.ref }}"
 | 
				
			||||||
 | 
					        echo "* COMMIT: ${{ github.sha }}"
 | 
				
			||||||
 | 
					        echo "---------------------------------------------"
 | 
				
			||||||
 | 
					        echo "Inputs provided:"
 | 
				
			||||||
 | 
					        echo "---------------------------------------------"
 | 
				
			||||||
 | 
					        echo "* IMAGE_TAG: ${{ inputs.IMAGE_TAG }}"
 | 
				
			||||||
 | 
					        echo "* DOCKER_REFERENCE: ${{ inputs.DOCKER_REFERENCE }}"
 | 
				
			||||||
 | 
					        echo "* PRODUCTS: ${{ inputs.PRODUCTS }}"
 | 
				
			||||||
 | 
					        echo "* FILEBEAT_MODULE_VERSION: ${{ inputs.FILEBEAT_MODULE_VERSION }}"
 | 
				
			||||||
 | 
					        echo "* REVISION: ${{ inputs.REVISION }}"
 | 
				
			||||||
 | 
					        echo "* PUSH_IMAGES: ${{ inputs.PUSH_IMAGES }}"
 | 
				
			||||||
 | 
					        echo "---------------------------------------------"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - name: Checkout repository
 | 
				
			||||||
 | 
					      uses: actions/checkout@v4
 | 
				
			||||||
 | 
					      with:
 | 
				
			||||||
 | 
					        ref: ${{ inputs.DOCKER_REFERENCE }}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - name: Log in to Docker Hub
 | 
				
			||||||
 | 
					      uses: docker/login-action@v3
 | 
				
			||||||
 | 
					      with:
 | 
				
			||||||
 | 
					        username: wazuh
 | 
				
			||||||
 | 
					        password: ${{ secrets.DOCKERHUB_PASSWORD }}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - name: Install Docker Compose
 | 
				
			||||||
 | 
					      run: |
 | 
				
			||||||
 | 
					        sudo apt-get update
 | 
				
			||||||
 | 
					        sudo apt-get install -y docker-compose
 | 
				
			||||||
 | 
					        echo "Installed Docker Compose version: $(docker-compose --version)"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - name: Build Wazuh images
 | 
				
			||||||
 | 
					      run: |
 | 
				
			||||||
 | 
					        IMAGE_TAG=${{ inputs.IMAGE_TAG }}
 | 
				
			||||||
 | 
					        FILEBEAT_MODULE_VERSION=${{ inputs.FILEBEAT_MODULE_VERSION }}
 | 
				
			||||||
 | 
					        REVISION=${{ inputs.REVISION }}
 | 
				
			||||||
 | 
					        PUSH_IMAGES=${{ inputs.PUSH_IMAGES }}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if [[ "$IMAGE_TAG" == *"-"* ]]; then
 | 
				
			||||||
 | 
					          IFS='-' read -r -a tokens <<< "$IMAGE_TAG"
 | 
				
			||||||
 | 
					          if [ -z "${tokens[1]}" ]; then
 | 
				
			||||||
 | 
					            echo "Invalid image tag: $IMAGE_TAG"
 | 
				
			||||||
 | 
					            exit 1
 | 
				
			||||||
 | 
					          fi
 | 
				
			||||||
 | 
					          DEV_STAGE=${tokens[1]}
 | 
				
			||||||
 | 
					          WAZUH_VER=${tokens[0]}
 | 
				
			||||||
 | 
					          ./build-docker-images/build-images.sh -v $WAZUH_VER -r $REVISION -d $DEV_STAGE -f $FILEBEAT_MODULE_VERSION
 | 
				
			||||||
 | 
					        else
 | 
				
			||||||
 | 
					          ./build-docker-images/build-images.sh -v $IMAGE_TAG -r $REVISION -f $FILEBEAT_MODULE_VERSION
 | 
				
			||||||
 | 
					        fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        ENV_FILE_PATH=".env"
 | 
				
			||||||
 | 
					        # Save .env file contents to $GITHUB_ENV
 | 
				
			||||||
 | 
					        if [ -f $ENV_FILE_PATH ]; then
 | 
				
			||||||
 | 
					          while IFS= read -r line || [ -n "$line" ]; do
 | 
				
			||||||
 | 
					            echo "$line" >> $GITHUB_ENV
 | 
				
			||||||
 | 
					          done < $ENV_FILE_PATH
 | 
				
			||||||
 | 
					        else
 | 
				
			||||||
 | 
					          echo "The environment file $ENV_FILE_PATH does not exist!"
 | 
				
			||||||
 | 
					          exit 1
 | 
				
			||||||
 | 
					        fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - name: Tag and Push Wazuh images
 | 
				
			||||||
 | 
					      if: ${{ inputs.PUSH_IMAGES }}
 | 
				
			||||||
 | 
					      run: |
 | 
				
			||||||
 | 
					        IMAGE_TAG=${{ inputs.IMAGE_TAG }}
 | 
				
			||||||
 | 
					        IMAGE_NAMES=${{ inputs.PRODUCTS }}
 | 
				
			||||||
 | 
					        IFS=',' read -r -a images <<< "$IMAGE_NAMES"
 | 
				
			||||||
 | 
					        for image in "${images[@]}"; do
 | 
				
			||||||
 | 
					          echo "Tagging and pushing wazuh/$image:${WAZUH_VERSION} to wazuh/$image:$IMAGE_TAG"
 | 
				
			||||||
 | 
					          docker tag wazuh/$image:${WAZUH_VERSION} wazuh/$image:$IMAGE_TAG
 | 
				
			||||||
 | 
					          docker push wazuh/$image:$IMAGE_TAG
 | 
				
			||||||
 | 
					        done
 | 
				
			||||||
@@ -70,7 +70,7 @@ build() {
 | 
				
			|||||||
    echo WAZUH_FILEBEAT_MODULE=$WAZUH_FILEBEAT_MODULE >> .env
 | 
					    echo WAZUH_FILEBEAT_MODULE=$WAZUH_FILEBEAT_MODULE >> .env
 | 
				
			||||||
    echo WAZUH_UI_REVISION=$WAZUH_UI_REVISION >> .env
 | 
					    echo WAZUH_UI_REVISION=$WAZUH_UI_REVISION >> .env
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    docker-compose -f build-docker-images/build-images.yml --env-file .env build --no-cache
 | 
					    docker-compose -f build-docker-images/build-images.yml --env-file .env build --no-cache || clean 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    return 0
 | 
					    return 0
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user