Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
software-project-WS25
Reddit Team
Commits
84b2a741
Commit
84b2a741
authored
Nov 28, 2025
by
Benavides Ontiveros
Browse files
modify .gitlab yaml for reddit
parent
6dfb830c
Pipeline
#12167
failed
Changes
1
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
.gitlab-ci.yml
View file @
84b2a741
stages
:
-
lint
-
test
-
diag
-
build
-
deploy
...
...
@@ -7,87 +8,133 @@ stages:
variables
:
PYTHONPATH
:
"
${CI_PROJECT_DIR}"
DOCKER_REGISTRY
:
"
docker.io"
DOCKERHUB_REPO
:
"
$DOCKER_USERNAME/
reddit_data_fetcher
"
DOCKERHUB_REPO
:
"
$DOCKER_USERNAME/
teledatastream
"
# ----------------- Base Template for Docker Executor -----------------
# =====================================================================
# BASE JOB TEMPLATE (Docker executor)
# =====================================================================
.build_template
:
tags
:
[
"
ubuntu"
,
"
vm"
]
# Y
our runner tags
image
:
docker:24.0.9
# Main job container c
ontain
ing
Docker
CLI
tags
:
[
"
ubuntu"
,
"
vm"
]
# MUST match y
our runner tags
image
:
docker:24.0.9
# C
ontain
s
Docker
client
services
:
-
docker:dind
#
Docker daemon
for building images
-
docker:dind
# Start
Docker daemon
variables
:
DOCKER_HOST
:
tcp://docker:2375
DOCKER_TLS_CERTDIR
:
"
"
# Needed to disable TLS for DIND
DOCKER_TLS_CERTDIR
:
"
"
before_script
:
-
echo "
=== Docker info (from DinD service) ===
"
-
echo "
Running inside Docker executor with Docker-in-Docker
"
-
docker info ||
true
# ----------------- Lint Stage -----------------
# This does not need Docker; run it with a Python image.
# =====================================================================
# LINT
# =====================================================================
lint
:
stage
:
lint
image
:
python:3.10
script
:
tags
:
[
"
ubuntu"
,
"
vm"
]
before_script
:
-
pip install flake8
-
echo "Linting Python code..."
script
:
-
echo "Linting Python code.."
-
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
-
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
-
echo "Done running Python lint stage"
-
echo "Done running the Python Lint stage"
rules
:
-
if
:
'
$CI_PIPELINE_SOURCE
==
"merge_request_event"'
-
if
:
'
$CI_COMMIT_BRANCH'
-
if
:
'
$CI_COMMIT_TAG'
when
:
never
# =====================================================================
# TEST
# =====================================================================
test
:
stage
:
test
image
:
python:3.10
tags
:
[
"
ubuntu"
,
"
vm"
]
before_script
:
-
pip install pytest
-
echo "Running Tests"
script
:
-
pytest -q || echo "No tests found"
rules
:
-
if
:
'
$CI_PIPELINE_SOURCE
==
"merge_request_event"'
-
if
:
'
$CI_COMMIT_BRANCH'
when
:
always
-
if
:
'
$CI_COMMIT_TAG'
when
:
never
# ----------------- Diagnostics Stage -----------------
# =====================================================================
# DIAGNOSTICS
# =====================================================================
diag
:
stage
:
diag
extends
:
.build_template
script
:
|
echo "
===
Check
ing
Docker
connectivity ===
"
ls -l /var/run
|| true
stat /var/run/docker.sock || true
docker version || true
docker info || true
script
:
-
echo "Check Docker
access:
"
-
ls -l /var/run
-
stat /var/run/docker.sock ||
true
-
docker version ||
true
-
docker info ||
true
rules
:
-
if
:
'
$CI_PIPELINE_SOURCE
==
"merge_request_event"'
-
if
:
'
$CI_COMMIT_BRANCH'
when
:
always
-
if
:
'
$CI_COMMIT_TAG'
when
:
never
# ----------------- Build Stage -----------------
# =====================================================================
# BUILD
# =====================================================================
build
:
stage
:
build
extends
:
.build_template
script
:
|
echo "Logging in to Docker registry..."
echo "$DOCKER_TOKEN" | docker login -u "$DOCKER_USERNAME" --password-stdin
script
:
-
echo "Logging in to Docker registry..."
-
echo "$DOCKER_TOKEN" | docker login -u "$DOCKER_USERNAME" --password-stdin
-
echo "Building Docker image for commit
:
${CI_COMMIT_SHORT_SHA}"
echo "Building Docker image for commit: ${CI_COMMIT_SHORT_SHA}"
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 .
-
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 .
echo "Docker image built successfully."
after_script
:
-
echo "Docker image built successfully!"
rules
:
-
if
:
'
$CI_PIPELINE_SOURCE
==
"merge_request_event"'
when
:
never
-
if
:
'
$CI_COMMIT_BRANCH'
when
:
always
-
if
:
'
$CI_COMMIT_TAG'
when
:
never
# ----------------- Deploy Stage -----------------
# =====================================================================
# DEPLOY
# =====================================================================
deploy
:
stage
:
deploy
extends
:
.build_template
script
:
|
echo "Logging in to Docker registry..."
echo "$DOCKER_TOKEN" | docker login -u "$DOCKER_USERNAME" --password-stdin
script
:
-
echo "Logging in to Docker registry..."
-
echo "$DOCKER_TOKEN" | docker login -u "$DOCKER_USERNAME" --password-stdin
echo "Pushing Docker image..."
docker push $DOCKERHUB_REPO:$CI_COMMIT_SHORT_SHA
-
echo "Pushing Docker image..."
-
docker push $DOCKERHUB_REPO:$CI_COMMIT_SHORT_SHA
if [ "$CI_COMMIT_BRANCH" = "$CI_DEFAULT_BRANCH" ]; then
echo "Tagging as
'
latest
'
..."
docker tag $DOCKERHUB_REPO:$CI_COMMIT_SHORT_SHA $DOCKERHUB_REPO:latest
docker push $DOCKERHUB_REPO:latest
fi
-
if [ "$CI_COMMIT_BRANCH" = "$CI_DEFAULT_BRANCH" ]; then
echo "Tagging
image
as latest..."
;
docker tag $DOCKERHUB_REPO:$CI_COMMIT_SHORT_SHA $DOCKERHUB_REPO:latest
;
docker push $DOCKERHUB_REPO:latest
;
fi
echo "Deploy completed."
rules
:
-
if
:
'
$CI_COMMIT_BRANCH'
when
:
always
\ No newline at end of file
-
if
:
'
$CI_PIPELINE_SOURCE
==
"merge_request_event"'
when
:
never
-
if
:
'
$CI_COMMIT_TAG'
when
:
never
-
if
:
'
$CI_COMMIT_BRANCH
==
$CI_DEFAULT_BRANCH'
-
when
:
never
\ No newline at end of file
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment