diff --git a/staticweb/custom-jobs.json b/staticweb/custom-jobs.json index e779ddf..fbb8fcd 100644 --- a/staticweb/custom-jobs.json +++ b/staticweb/custom-jobs.json @@ -1,106 +1,114 @@ [ { "name": "openraster-org", "repository": "websites/openraster-org", "branch": "master", "cron": "", "type": "sphinx", "deploypath": "/srv/www/generated/openraster.org/" }, { "name": "docs-plasma-mobile-org", "repository": "websites/docs-plasma-mobile-org", "branch": "master", "cron": "", "type": "sphinx", "deploypath": "/srv/www/generated/docs.plasma-mobile.org/" }, { "name": "digikam-org", "repository": "websites/digikam-org", "branch": "master", "cron": "", "type": "hugo", "deploypath": "/srv/www/generated/digikam.org/" }, { "name": "staging-digikam-org", "repository": "websites/digikam-org", "branch": "dev", "cron": "", "type": "hugo", "deploypath": "/srv/www/generated/staging.digikam.org/" }, { "name": "akademy-schedule-kde-org", "repository": "websites/akademy-schedule-kde-org", "branch": "master", "cron": "@hourly", "type": "akademy-schedule-kde-org", "deploypath": "/srv/www/generated/akademy-schedule.kde.org/" }, { "name": "cdn-kde-org-aether-devel", "repository": "websites/aether-sass", "branch" :"master", "cron": "", "type": "symfonyencore", "deploypath": "/srv/www/cdn.kde.org/aether-devel/" }, { "name": "inqlude", "repository": "websites/inqlude", "branch": "master", "cron": "", "type": "inqlude", "deploypath": "/srv/www/generated/inqlude.org/" }, { "name": "autoconfig-kde-org", "repository": "websites/autoconfig-kde-org", "branch": "master", "cron": "", "type": "autoconfig-kde-org", "deploypath": "/srv/www/generated/autoconfig.kde.org/" }, { "name": "docs-krita-org", "repository": "websites/docs-krita-org", "branch": "krita/4.2", "cron": "", "type": "krita-docs", "deploypath": "/srv/www/generated/docs.krita.org/" }, { "name": "hig-kde-org", "repository": "websites/hig-kde-org", "branch": "master", "cron": "", "type": "hig-kde-org", "deploypath": "/srv/www/generated/hig.kde.org/" }, + { + "name": "kde-org", + "svnpath": "/trunk/www/sites/www/", + "branch" :"master", + "cron": "@hourly", + "type": "kde-org", + "deploypath": "/srv/www/generated/www.kde.org/" + }, { "name": "kde-org-applications", "repository": "websites/kde-org-applications", "branch" :"master", "cron": "@daily", - "type": "kde-org", - "deploypath": "/srv/www/generated/kde.org/applications/" + "type": "kde-org-applications", + "deploypath": "/srv/www/generated/www.kde.org-applications/" }, { "name": "cutehmi-kde-org", "repository": "websites/cutehmi-kde-org", "branch": "master", "cron": "", "type": "cutehmi-kde-org", "deploypath": "/srv/www/generated/cutehmi.kde.org/" }, { "name": "plasma-mobile-org", "repository": "websites/plasma-mobile-org", "branch": "master", "cron": "", "type": "plasma-mobile-org", "deploypath": "/srv/www/generated/plasma-mobile.org/" } ] diff --git a/staticweb/pipeline-templates/kde-org.pipeline b/staticweb/pipeline-templates/kde-org-applications.pipeline similarity index 96% copy from staticweb/pipeline-templates/kde-org.pipeline copy to staticweb/pipeline-templates/kde-org-applications.pipeline index 3dac184..c3d36f4 100644 --- a/staticweb/pipeline-templates/kde-org.pipeline +++ b/staticweb/pipeline-templates/kde-org-applications.pipeline @@ -1,53 +1,53 @@ // Request a node to be allocated to us node( "SUSEWeb" ) { // We want Timestamps on everything timestamps { // We want to catch any errors that occur to allow us to send out notifications (ie. emails) if needed catchError { // First Thing: Checkout Sources stage('Checkout Sources') { // Make sure we have a clean slate to begin with deleteDir() // Appstream Metadata Extractor checkout changelog: true, poll: true, scm: [ $class: 'GitSCM', branches: [[name: 'master']], extensions: [[$class: 'RelativeTargetDirectory', relativeTargetDir: 'extractor/']], userRemoteConfigs: [[url: "https://anongit.kde.org/websites/kde-org-applications-extractor"]] ] // Applications subsite code checkout changelog: true, poll: true, scm: [ $class: 'GitSCM', branches: [[name: 'master']], extensions: [[$class: 'RelativeTargetDirectory', relativeTargetDir: 'site/']], userRemoteConfigs: [[url: "https://anongit.kde.org/websites/kde-org-applications"]] ] } // Let's build website now stage('Website build') { sh """ export LANG=en_US.UTF-8 cd extractor/ gem install --user -g Gemfile ruby appstream.rb ruby appstream_mkindex.rb cd ../ mv extractor/appdata-extensions/ site/ mv appdata/ icons/ thumbnails/ index.json site/ """ } // Deploy the website! stage('Publishing Website') { sh """ rsync -Hav --delete --filter "protect config.php" -e "ssh -i $HOME/WebsitePublishing/website-upload.key" site/ sitedeployer@olios.kde.org:/srv/www/generated/www.kde.org/applications/ - rsync -Hav --delete --filter "protect config.php" -e "ssh -i $HOME/WebsitePublishing/website-upload.key" site/ sitedeployer@nicoda.kde.org:/srv/www/generated/www.kde.org-applications/ + rsync -Hav --delete --filter "protect config.php" -e "ssh -i $HOME/WebsitePublishing/website-upload.key" site/ sitedeployer@nicoda.kde.org:${deploypath} """ } } } } diff --git a/staticweb/pipeline-templates/kde-org.pipeline b/staticweb/pipeline-templates/kde-org.pipeline index 3dac184..57de87b 100644 --- a/staticweb/pipeline-templates/kde-org.pipeline +++ b/staticweb/pipeline-templates/kde-org.pipeline @@ -1,53 +1,49 @@ // Request a node to be allocated to us -node( "SUSEWeb" ) { +node( "StaticWeb" ) { // We want Timestamps on everything timestamps { // We want to catch any errors that occur to allow us to send out notifications (ie. emails) if needed catchError { // First Thing: Checkout Sources stage('Checkout Sources') { // Make sure we have a clean slate to begin with deleteDir() - // Appstream Metadata Extractor - checkout changelog: true, poll: true, scm: [ - $class: 'GitSCM', - branches: [[name: 'master']], - extensions: [[$class: 'RelativeTargetDirectory', relativeTargetDir: 'extractor/']], - userRemoteConfigs: [[url: "https://anongit.kde.org/websites/kde-org-applications-extractor"]] - ] - // Applications subsite code - checkout changelog: true, poll: true, scm: [ - $class: 'GitSCM', - branches: [[name: 'master']], - extensions: [[$class: 'RelativeTargetDirectory', relativeTargetDir: 'site/']], - userRemoteConfigs: [[url: "https://anongit.kde.org/websites/kde-org-applications"]] - ] + // Code + checkout( [ + $class: 'SubversionSCM', + filterChangelog: false, + ignoreDirPropChanges: false, + includedRegions: '', + locations: [[cancelProcessOnExternalsFail: true, depthOption: 'infinity', ignoreExternalsOption: false, local: '.', remote: repositoryUrl]], + quietOperation: true, + workspaceUpdater: [$class: 'UpdateUpdater'] + ]) } // Let's build website now stage('Website build') { sh """ - export LANG=en_US.UTF-8 - - cd extractor/ - gem install --user -g Gemfile + find -name '.svn' -type d | xargs rm -rf + """ + } - ruby appstream.rb - ruby appstream_mkindex.rb + // We host copies of some pages on www.kde.org for historical reasons + stage('Fetching other resources') { + sh """ + curl "https://store.kde.org/content.rdf" -o kde-look-content.rdf - cd ../ - mv extractor/appdata-extensions/ site/ - mv appdata/ icons/ thumbnails/ index.json site/ + mkdir dot/ + curl "https://dot.kde.org/rss.xml" -o dot/rss.xml + cp -f dot/rss.xml dotkdeorg.rdf """ } // Deploy the website! stage('Publishing Website') { sh """ - rsync -Hav --delete --filter "protect config.php" -e "ssh -i $HOME/WebsitePublishing/website-upload.key" site/ sitedeployer@olios.kde.org:/srv/www/generated/www.kde.org/applications/ - rsync -Hav --delete --filter "protect config.php" -e "ssh -i $HOME/WebsitePublishing/website-upload.key" site/ sitedeployer@nicoda.kde.org:/srv/www/generated/www.kde.org-applications/ + rsync -Hav --delete -e "ssh -i $HOME/WebsitePublishing/website-upload.key" ./ sitedeployer@nicoda.kde.org:${deploypath} """ } } } } diff --git a/staticweb/standard-jobs.yaml b/staticweb/standard-jobs.yaml index dc6b176..384abdc 100644 --- a/staticweb/standard-jobs.yaml +++ b/staticweb/standard-jobs.yaml @@ -1,141 +1,139 @@ 'static-git': - domain: accessibility.kde.org repository: websites/accessibility-kde-org - domain: akademy2010.kde.org repository: websites/akademy2010-kde-org - domain: akademy2012.kde.org repository: websites/akademy2012-kde-org - domain: conf.kde.in repository: websites/conf-kde-in - domain: conf.qtcon.org repository: websites/conf-qtcon-org - domain: desktopsummit.org repository: websites/desktopsummit-org - domain: edu.kde.org repository: websites/edu-kde-org - domain: ev.kde.org repository: websites/ev-kde-org - domain: freebsd.kde.org repository: websites/freebsd-kde-org - domain: games.kde.org repository: websites/games-kde-org - domain: kdeitalia.it repository: websites/kdeitalia-it - domain: kdemail.net repository: websites/kdemail-net - domain: jp.kde.org repository: websites/jp-kde-org - domain: juk.kde.org repository: websites/juk-kde-org - domain: kdesrc-build.kde.org repository: websites/kdesrc-build-kde-org - domain: kmymoney.org repository: websites/kmymoney-org - domain: konqueror.org repository: websites/konqueror-org - domain: konversation.kde.org repository: websites/konversation-kde-org - domain: krusader.org repository: websites/krusader-org - domain: kube.kde.org repository: websites/kube-kde-org - domain: lakademy.kde.org repository: websites/lakademy-kde-org - domain: marble.kde.org repository: websites/marble-kde-org - domain: multimedia.kde.org repository: websites/multimedia-kde-org - domain: necessitas.kde.org repository: websites/necessitas-kde-org - domain: neon.kde.org repository: websites/neon-kde-org - domain: okular.kde.org repository: websites/okular-kde-org - domain: pe.kde.org repository: websites/pe-kde-org - domain: peruse.kde.org repository: websites/peruse-kde-org - domain: phonon.kde.org repository: websites/phonon-kde-org - domain: rekonq.kde.org repository: websites/rekonq-kde-org - domain: releases.neon.kde.org repository: websites/releases-neon-kde-org - domain: solid.kde.org repository: websites/solid-kde-org - domain: timeline.kde.org repository: websites/timeline-kde-org - domain: umbrello.kde.org repository: websites/umbrello-kde-org - domain: utils.kde.org repository: websites/utils-kde-org - domain: vvave.kde.org repository: websites/vvave-kde-org - domain: wiki.desktopsummit.org repository: websites/wiki-desktopsummit-org - domain: wiki.kde.org repository: websites/wiki-kde-org 'static-svn': -- domain: www.kde.org - svnpath: /trunk/www/sites/www/ - domain: conference2004.kde.org svnpath: /trunk/www/areas/events/info/conference2004 - domain: conference2005.kde.org svnpath: /trunk/www/areas/events/info/conference2005 - domain: conference2006.kde.org svnpath: /trunk/www/areas/events/info/conference2006 - domain: conference2007.kde.org svnpath: /trunk/www/areas/events/info/conference2007 - domain: conference2008.kde.org svnpath: /trunk/www/areas/events/info/conference2008 - domain: conference2009.kde.org svnpath: /trunk/www/areas/events/info/conference2009 - domain: czechia.kde.org svnpath: /trunk/www/international/czechia - domain: events.kde.org svnpath: /trunk/www/areas/events/ - domain: extragear.kde.org svnpath: /trunk/www/areas/extragear/ - domain: il.kde.org svnpath: /trunk/www/international/israel/ - domain: kmplayer.kde.org svnpath: /trunk/www/apps/kmplayer/ - domain: kpdf.kde.org svnpath: /trunk/www/apps/kpdf - domain: kphotoalbum.org svnpath: /trunk/www/sites/kphotoalbum - domain: kst-plot.kde.org svnpath: /trunk/www/areas/kst-plot/ - domain: ro.kde.org svnpath: /trunk/www/international/romania - domain: static.kdenews.org svnpath: /trunk/dot.kde.org/static 'jekyll': - domain: 20years.kde.org repository: websites/20years-kde-org - domain: br.qtcon.org repository: websites/br-qtcon-org - domain: choqok.kde.org repository: websites/choqok-kde-org - domain: evolve.kde.org repository: websites/evolve-kde-org - domain: falkon.org repository: websites/falkon-org - domain: fr.kde.org repository: websites/fr-kde-org - domain: kde.ru repository: websites/kde-ru - domain: kirogi.org repository: websites/kirogi-kde-org - domain: konsole.kde.org repository: websites/konsole-kde-org - domain: kontact.kde.org repository: websites/kontact-kde-org - domain: manifesto.kde.org repository: websites/manifesto-kde-org - domain: minuet.kde.org repository: websites/minuet-kde-org - domain: zanshin.kde.org repository: websites/zanshin-kde-org