Commit b5cc4879 authored by Benavides Ontiveros's avatar Benavides Ontiveros
Browse files

verify docker push and login

parent 823896e9
Pipeline #12179 passed with stages
in 20 seconds
...@@ -10,6 +10,16 @@ variables: ...@@ -10,6 +10,16 @@ variables:
DOCKER_REGISTRY: "docker.io" DOCKER_REGISTRY: "docker.io"
DOCKERHUB_REPO: "$DOCKER_USERNAME/reddit_data_fetcher" DOCKERHUB_REPO: "$DOCKER_USERNAME/reddit_data_fetcher"
# =====================================================================
# BASE JOB TEMPLATE
# =====================================================================
.build_template:
tags: ["ubuntu", "vm"] # Must match your runner tags
image: docker:24.0.9 # Docker CLI available
before_script:
- echo "Using host Docker daemon"
- docker info || true # check Docker access
# ===================================================================== # =====================================================================
# LINT # LINT
# ===================================================================== # =====================================================================
...@@ -19,11 +29,11 @@ lint: ...@@ -19,11 +29,11 @@ lint:
tags: ["ubuntu", "vm"] tags: ["ubuntu", "vm"]
before_script: before_script:
- pip install flake8 - pip install flake8
script: script: |
- echo "Linting Python code..." echo "Linting Python code..."
- flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
- flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
- echo "Done running the Python Lint stage" echo "Done running the Python Lint stage"
rules: rules:
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"' - if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
- if: '$CI_COMMIT_BRANCH' - if: '$CI_COMMIT_BRANCH'
...@@ -40,8 +50,8 @@ test: ...@@ -40,8 +50,8 @@ test:
before_script: before_script:
- pip install pytest - pip install pytest
- echo "Running Tests" - echo "Running Tests"
script: script: |
- pytest -q || echo "No tests found" pytest -q || echo "No tests found"
after_script: after_script:
- echo "Tests completed successfully" - echo "Tests completed successfully"
rules: rules:
...@@ -55,19 +65,13 @@ test: ...@@ -55,19 +65,13 @@ test:
# ===================================================================== # =====================================================================
diag: diag:
stage: diag stage: diag
image: docker:24.0.9 extends: .build_template
tags: ["ubuntu", "vm"] script: |
before_script: echo "Check Docker access:"
- echo "Checking Docker access..." ls -l /var/run
- docker info || true stat /var/run/docker.sock || true
script: docker version || true
- echo "Check Docker socket:" docker info || true
- ls -l /var/run || true
- stat /var/run/docker.sock || true
- echo "Docker version:"
- docker version || true
- echo "Docker info:"
- docker info || true
rules: rules:
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"' - if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
- if: '$CI_COMMIT_BRANCH' - if: '$CI_COMMIT_BRANCH'
...@@ -79,17 +83,18 @@ diag: ...@@ -79,17 +83,18 @@ diag:
# ===================================================================== # =====================================================================
build: build:
stage: build stage: build
image: docker:24.0.9 extends: .build_template
tags: ["ubuntu", "vm"] script: |
before_script: echo "Logging in to Docker registry..."
- echo "Checking Docker access..." echo "$DOCKER_TOKEN" | docker login -u "$DOCKER_USERNAME" --password-stdin
- docker info || true
script: echo "Building Docker image for commit: ${CI_COMMIT_SHORT_SHA}"
- echo "Building Docker image for commit: ${CI_COMMIT_SHORT_SHA}" docker build \
- docker build --build-arg REDDIT_CLIENT_ID="$REDDIT_CLIENT_ID" --build-arg REDDIT_CLIENT_SECRET="$REDDIT_CLIENT_SECRET" -t $DOCKERHUB_REPO:$CI_COMMIT_SHORT_SHA . --build-arg REDDIT_CLIENT_ID="$REDDIT_CLIENT_ID" \
--build-arg REDDIT_CLIENT_SECRET="$REDDIT_CLIENT_SECRET" \
-t $DOCKERHUB_REPO:$CI_COMMIT_SHORT_SHA .
after_script:
- echo "Docker image built successfully!" - echo "Docker image built successfully!"
- echo "Listing local images:"
- docker images
rules: rules:
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"' - if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
when: never when: never
...@@ -102,27 +107,28 @@ build: ...@@ -102,27 +107,28 @@ build:
# ===================================================================== # =====================================================================
deploy: deploy:
stage: deploy stage: deploy
image: docker:24.0.9 extends: .build_template
tags: ["ubuntu", "vm"] script: |
before_script: echo "Logging in to Docker registry..."
- echo "Checking Docker access..." echo "$DOCKER_TOKEN" | docker login -u "$DOCKER_USERNAME" --password-stdin
- docker info || true
script: # Verify login
- echo "Logging in to Docker Hub..." docker info | grep Username || (echo "Docker login failed!" && exit 1)
- echo "$DOCKER_TOKEN" | docker login -u "$DOCKER_USERNAME" --password-stdin
- docker info | grep Username || (echo "Docker login failed!" && exit 1) echo "Listing local Docker images before push..."
- echo "Listing local images before push:" docker images
- docker images
- echo "Pushing image: $DOCKERHUB_REPO:$CI_COMMIT_SHORT_SHA" echo "Pushing Docker image: $DOCKERHUB_REPO:$CI_COMMIT_SHORT_SHA"
- docker push $DOCKERHUB_REPO:$CI_COMMIT_SHORT_SHA || (echo "Push failed!" && exit 1) docker push $DOCKERHUB_REPO:$CI_COMMIT_SHORT_SHA
- if [ "$CI_COMMIT_BRANCH" = "$CI_DEFAULT_BRANCH" ]; then
echo "Tagging image as latest..."; if [ "$CI_COMMIT_BRANCH" = "$CI_DEFAULT_BRANCH" ]; then
docker tag $DOCKERHUB_REPO:$CI_COMMIT_SHORT_SHA $DOCKERHUB_REPO:latest; echo "Tagging image as latest..."
echo "Pushing latest tag..."; docker tag $DOCKERHUB_REPO:$CI_COMMIT_SHORT_SHA $DOCKERHUB_REPO:latest
docker push $DOCKERHUB_REPO:latest || (echo "Push latest failed!" && exit 1); echo "Pushing latest tag..."
fi docker push $DOCKERHUB_REPO:latest
- echo "Listing local images after push:" fi
- docker images
echo "Listing local Docker images after push..."
docker images
rules: rules:
- if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH' - if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
- when: never \ No newline at end of file
\ No newline at end of file
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment