Last active
March 8, 2024 05:22
-
-
Save oanhnn/2dc83be3417576cf3a17e1808e733fb2 to your computer and use it in GitHub Desktop.
Scripts for gitlab and gitlab runner
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Clear Gitlab runner cache (docker) weekly at 17:05 on Saturday (UTC) | |
5 17 * * 6 sudo /usr/share/gitlab-runner/clear-docker-cache prune-volumes >/dev/null 2>&1 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env python3 | |
import time | |
import requests | |
project_id = '...' | |
token = '...' | |
server = 'gitlab.com' | |
print("Creating list of all jobs that currently have artifacts...") | |
# We skip the first page. | |
url = f"https://{server}/api/v4/projects/{project_id}/jobs?per_page=100&page=2" | |
while url: | |
print(f"Processing page: {url}") | |
response = requests.get( | |
url, | |
headers={ | |
'private-token': token, | |
}, | |
) | |
if response.status_code in [500, 429]: | |
print(f"Status {response.status_code}, retrying.") | |
time.sleep(10) | |
continue | |
response.raise_for_status() | |
response_json = response.json() | |
for job in response_json: | |
if job.get('artifacts_file', None) or job.get('artifacts', None): | |
job_id = job['id'] | |
delete_response = requests.delete( | |
f"https://{server}/api/v4/projects/{project_id}/jobs/{job_id}/artifacts", | |
headers={ | |
'private-token': token, | |
}, | |
) | |
print(f"Processing job ID: {job_id} - status: {delete_response.status_code}") | |
url = response.links.get('next', {}).get('url', None) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
export MINIO_ROOT_USER="xxxx" | |
export MINIO_ROOT_PASSWORD="yyyy" | |
docker run -d \ | |
-p 9000:9000 \ | |
-p 9001:9001 \ | |
-e MINIO_ROOT_USER \ | |
-e MINIO_ROOT_PASSWORD \ | |
-e MINIO_VOLUMES="/data" \ # -e MINIO_VOLUMES="/data-{1...4}" -e MINIO_SERVER_URL="" \ | |
-v $(pwd)/data:/data \ | |
--restart unless-stopped \ | |
--name gitlab-runner-cache \ | |
quay.io/minio/minio:latest server --console-address ":9001" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
docker run -d \ | |
-e LOW_FREE_SPACE=30G \ | |
-e EXPECTED_FREE_SPACE=50G \ | |
-e LOW_FREE_FILES_COUNT=1048576 \ | |
-e EXPECTED_FREE_FILES_COUNT=2097152 \ | |
-e DEFAULT_TTL=10m \ | |
-e USE_DF=1 \ | |
-v /var/run/docker.sock:/var/run/docker.sock \ | |
--restart always \ | |
--name=gitlab-runner-cleanup \ | |
quay.io/gitlab/gitlab-runner-docker-cleanup |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
runner_name=${1:-"gitlab-runner01"} | |
runner_url=${3:-"https://gitlab.example.com/"} | |
sudo gitlab-runner register \ | |
--url $runner_url \ | |
--name $runner_name \ | |
--run-untagged \ | |
--tag-list shared \ | |
--executor docker \ | |
--env LC_ALL=en_US.UTF-8 \ | |
--cache-shared \ | |
--docker-image alpine:latest \ | |
--docker-privileged \ | |
--docker-tlsverify \ | |
--docker-volumes=/certs/client \ | |
--docker-volumes=/cache \ | |
--non-interactive | |
unset runner_url | |
unset runner_token | |
unset runner_name |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment