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
44dc2ca4
Commit
44dc2ca4
authored
Nov 28, 2025
by
Benavides Ontiveros
Browse files
add .gitlab-ci.yml
parent
17719cb5
Pipeline
#12156
failed
Changes
1
Pipelines
1
Show whitespace changes
Inline
Side-by-side
.gitlab-ci.yml
0 → 100644
View file @
44dc2ca4
stages
:
-
lint
-
test
-
diag
-
build
-
deploy
variables
:
PYTHONPATH
:
"
${CI_PROJECT_DIR}"
DOCKER_REGISTRY
:
"
docker.io"
DOCKERHUB_REPO
:
"
$DOCKER_USERNAME/reddit_data_fetcher"
# Replace with your new repo name
.build_template
:
tags
:
[
"
ubuntu"
,
"
vm"
]
# Match your runner tags
before_script
:
-
echo "Docker CLI info:"
-
docker version
lint
:
stage
:
lint
image
:
python:3.10
extends
:
.build_template
before_script
:
-
pip install flake8
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"
rules
:
-
if
:
'
$CI_PIPELINE_SOURCE
==
"merge_request_event"'
-
if
:
'
$CI_COMMIT_BRANCH'
-
if
:
'
$CI_COMMIT_TAG'
when
:
never
test
:
stage
:
test
image
:
python:3.10
extends
:
.build_template
before_script
:
-
pip install pytest
-
echo "Running Tests"
-
echo "PYTHONPATH
:
${PYTHONPATH}"
-
echo "PWD=$(pwd)"
script
:
-
echo "Running PyTests"
after_script
:
-
echo "Tests completed successfully"
rules
:
-
if
:
'
$CI_PIPELINE_SOURCE
==
"merge_request_event"'
-
if
:
'
$CI_COMMIT_BRANCH'
-
if
:
'
$CI_COMMIT_TAG'
when
:
never
diag
:
stage
:
diag
image
:
docker:24.0.9
tags
:
[
"
ubuntu"
,
"
vm"
]
script
:
-
echo "Check socket:"
-
ls -l /var/run ||
true
-
stat /var/run/docker.sock ||
true
-
echo "Docker info:"
-
docker version ||
true
-
docker info ||
true
rules
:
-
if
:
'
$CI_PIPELINE_SOURCE
==
"merge_request_event"'
-
if
:
'
$CI_COMMIT_BRANCH'
-
if
:
'
$CI_COMMIT_TAG'
when
:
never
build
:
stage
:
build
image
:
docker:24.0.9
extends
:
.build_template
before_script
:
-
echo "Building Docker image for commit
:
${CI_COMMIT_SHORT_SHA}"
-
echo "Logging in to Docker registry..."
-
echo "$DOCKER_TOKEN" | docker login -u "$DOCKER_USERNAME" --password-stdin
script
:
-
echo "Building image..."
-
cd .
# Replace '.' if your Dockerfile is in a subfolder
-
docker build -t $DOCKERHUB_REPO:$CI_COMMIT_SHORT_SHA .
after_script
:
-
echo "Docker image built successfully!"
rules
:
-
if
:
'
$CI_PIPELINE_SOURCE
==
"merge_request_event"'
when
:
never
-
if
:
'
$CI_COMMIT_BRANCH'
-
if
:
'
$CI_COMMIT_TAG'
when
:
never
deploy
:
stage
:
deploy
image
:
docker:24.0.9
tags
:
[
"
ubuntu"
,
"
vm"
]
script
:
-
echo "$DOCKER_TOKEN" | docker login -u "$DOCKER_USERNAME" --password-stdin
-
echo "Logged into Docker Hub successfully!"
-
docker push $DOCKERHUB_REPO:$CI_COMMIT_SHORT_SHA
-
echo "Pushed Docker image to Docker Hub successfully!"
# ===== OPTIONAL: update tag for default branch =====
-
if [ "$CI_COMMIT_BRANCH" = "$CI_DEFAULT_BRANCH" ]; then
docker tag $DOCKERHUB_REPO:$CI_COMMIT_SHORT_SHA $DOCKERHUB_REPO:latest;
docker push $DOCKERHUB_REPO:latest;
fi
rules
:
-
if
:
'
$CI_PIPELINE_SOURCE
==
"merge_request_event"'
when
:
never
-
if
:
'
$CI_COMMIT_TAG'
when
:
never
-
if
:
'
$CI_COMMIT_BRANCH
==
$CI_DEFAULT_BRANCH'
\ 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