Files
post2bsky/jenkins/dijous
2026-05-08 19:53:22 +00:00

60 lines
1.9 KiB
Plaintext

pipeline {
agent any
triggers {
// Every Thursday at 07:15
cron('15 7 * * 4')
}
options {
timeout(time: 15, unit: 'MINUTES')
timestamps()
buildDiscarder(logRotator(numToKeepStr: '10'))
disableConcurrentBuilds()
}
stages {
stage('Install dependencies') {
steps {
sh """
python3 -m venv venv
. venv/bin/activate
pip install --upgrade pip --quiet
pip install --quiet atproto requests ffmpeg python-dotenv pillow
"""
}
}
stage('Post Divendres') {
steps {
// Securely injects Jenkins credentials as environment variables
// Note the added curly braces wrapping the sh block
withCredentials([
string(credentialsId: 'BSKY_GROMENAWARE_HANDLE', variable: 'BSKY_GROMENAWARE_HANDLE'),
string(credentialsId: 'BSKY_GROMENAWARE_APP_PASSWORD', variable: 'BSKY_GROMENAWARE_APP_PASSWORD')
]) {
sh """
. venv/bin/activate
python3 bsky_post.py \
--text "Feliç dijous!!!!" \
--image media/dijous.jpg \
--alt "Feliç dijous!!" \
--bsky-handle "$BSKY_GROMENAWARE_HANDLE" \
--bsky-password "$BSKY_GROMENAWARE_APP_PASSWORD" \
--bsky-base-url "https://eurosky.social" \
--bsky-langs "ca"
"""
}
}
}
}
post {
success {
echo '✅ Dijous post published successfully.'
}
failure {
echo '❌ Dijous post failed.'
}
}
}