Porównaj commity

...

143 Commity

Autor SHA1 Wiadomość Data
Mi Klo 8900ad3ed4 fork and upgrade base image to ubuntu:jammy 22.04 LTS 2023-08-06 01:48:16 +00:00
LinuxServer-CI 6db0c2fa7f Bot Updating Package Versions 2022-09-20 05:01:58 -05:00
LinuxServer-CI 87156aee9e Bot Updating Templated Files 2022-09-20 04:57:36 -05:00
LinuxServer-CI 10b21dc0bc Bot Updating Package Versions 2022-09-06 11:54:25 +02:00
LinuxServer-CI 29c6d241ec Bot Updating Package Versions 2022-07-19 11:53:13 +02:00
LinuxServer-CI bbf013c622 Bot Updating Package Versions 2022-07-12 11:53:12 +02:00
Adam fd8606a3c8
Merge pull request #9 from linuxserver/deprecate-master 2022-06-29 19:28:03 +01:00
LinuxServer-CI efb984187a Bot Updating Package Versions 2022-06-28 04:52:22 -05:00
TheSpad 0ec7809989
Run builder 2022-06-23 18:48:52 +01:00
TheSpad 2bc9122f49
Deprecate master 2022-06-23 18:44:59 +01:00
LinuxServer-CI 4757a2bf4a Bot Updating Package Versions 2022-06-14 04:52:46 -05:00
LinuxServer-CI 7ab0d01eaa Bot Updating Package Versions 2022-05-31 11:53:36 +02:00
LinuxServer-CI cf7aa43b43 Bot Updating Package Versions 2022-05-24 04:53:31 -05:00
LinuxServer-CI f84ce60885 Bot Updating Package Versions 2022-05-17 11:52:59 +02:00
LinuxServer-CI 8402b6bce6 Bot Updating Package Versions 2022-05-10 04:52:47 -05:00
LinuxServer-CI a1d4a5eaec Bot Updating Package Versions 2022-05-03 04:52:26 -05:00
LinuxServer-CI 5a32cd49da Bot Updating Package Versions 2022-04-19 04:52:39 -05:00
LinuxServer-CI 53e002783b Bot Updating Package Versions 2022-04-12 04:52:09 -05:00
LinuxServer-CI 74fe0bbcdf Bot Updating Package Versions 2022-03-29 11:52:20 +02:00
LinuxServer-CI 19e55b8491 Bot Updating Package Versions 2022-03-22 10:52:38 +01:00
LinuxServer-CI 050e9a619c Bot Updating Package Versions 2022-03-15 10:52:32 +01:00
LinuxServer-CI 7b13446484 Bot Updating Package Versions 2022-03-08 10:52:22 +01:00
LinuxServer-CI 4b7cff90dc Bot Updating Package Versions 2022-03-01 10:52:03 +01:00
LinuxServer-CI 6521dabc35 Bot Updating Package Versions 2022-02-22 10:52:13 +01:00
LinuxServer-CI 02904a981a Bot Updating Package Versions 2022-02-01 10:52:02 +01:00
LinuxServer-CI 7459de91db Bot Updating Package Versions 2022-01-11 10:52:11 +01:00
LinuxServer-CI e89954851b Bot Updating Package Versions 2021-12-21 10:54:27 +01:00
LinuxServer-CI f93ef0b237 Bot Updating Templated Files 2021-12-21 10:51:07 +01:00
LinuxServer-CI ff55d2e0ee Bot Updating Package Versions 2021-12-14 10:53:06 +01:00
LinuxServer-CI 5eea93fdb7 Bot Updating Package Versions 2021-11-02 10:52:18 +01:00
LinuxServer-CI 945ab288bb Bot Updating Package Versions 2021-10-12 11:52:08 +02:00
LinuxServer-CI b4f26d77ff Bot Updating Templated Files 2021-10-05 11:51:06 +02:00
LinuxServer-CI 1ac8ff27aa Bot Updating Package Versions 2021-09-28 11:52:24 +02:00
LinuxServer-CI 5fcbd76c85 Bot Updating Package Versions 2021-09-21 11:52:04 +02:00
LinuxServer-CI 07a8c3f429 Bot Updating Package Versions 2021-09-14 11:52:09 +02:00
LinuxServer-CI 86ce4ec645 Bot Updating Package Versions 2021-08-31 11:54:53 +02:00
LinuxServer-CI 81a9f0fcc0 Bot Updating Templated Files 2021-08-31 11:51:14 +02:00
LinuxServer-CI 22b96a183b Bot Updating Package Versions 2021-08-17 11:53:45 +02:00
LinuxServer-CI dae7cf33a3 Bot Updating Package Versions 2021-08-03 11:53:26 +02:00
LinuxServer-CI f70d288640 Bot Updating Package Versions 2021-07-27 11:53:11 +02:00
LinuxServer-CI b6557a9c76 Bot Updating Package Versions 2021-07-20 11:53:27 +02:00
LinuxServer-CI ee220fed5d Bot Updating Package Versions 2021-07-06 09:57:26 +00:00
LinuxServer-CI 707837871d Bot Updating Templated Files 2021-07-06 09:53:02 +00:00
LinuxServer-CI a1669ef4ee Bot Updating Templated Files 2021-07-06 09:51:28 +00:00
LinuxServer-CI 5b92d7873a Bot Updating Package Versions 2021-06-29 10:08:35 +00:00
LinuxServer-CI 14c6c2c0cc Bot Updating Package Versions 2021-06-15 11:14:34 +01:00
LinuxServer-CI ac4cc69f9a Bot Updating Package Versions 2021-05-18 10:09:19 +00:00
LinuxServer-CI 79d243ad7a Bot Updating Package Versions 2021-04-20 06:17:06 -04:00
LinuxServer-CI bc122c4f14 Bot Updating Templated Files 2021-04-20 05:58:45 -04:00
LinuxServer-CI 94cc1f0985 Bot Updating Templated Files 2021-04-20 05:57:27 -04:00
LinuxServer-CI 3c37056dfb Bot Updating Package Versions 2021-04-13 06:07:28 -04:00
LinuxServer-CI 7b9cb356d5 Bot Updating Package Versions 2021-04-06 06:06:59 -04:00
LinuxServer-CI 1107c25571 Bot Updating Package Versions 2021-03-30 11:08:20 +01:00
LinuxServer-CI 742b75af08 Bot Updating Package Versions 2021-03-23 10:03:01 +00:00
LinuxServer-CI 32b2ce8720 Bot Updating Package Versions 2021-03-16 06:02:29 -04:00
LinuxServer-CI ef0511bf6e Bot Updating Package Versions 2021-03-09 10:05:21 +00:00
LinuxServer-CI 000edf302f Bot Updating Package Versions 2021-02-23 10:04:04 +00:00
LinuxServer-CI b3bcd794dd Bot Updating Templated Files 2021-02-16 09:54:21 +00:00
LinuxServer-CI 9980187a48 Bot Updating Templated Files 2021-02-16 09:53:06 +00:00
LinuxServer-CI 69b1c46c13 Bot Updating Package Versions 2021-02-09 10:06:26 +00:00
LinuxServer-CI a07576c429 Bot Updating Package Versions 2021-02-02 05:14:39 -05:00
LinuxServer-CI 367ae803be Bot Updating Package Versions 2021-01-26 05:06:27 -05:00
LinuxServer-CI 6693c02e9c Bot Updating Package Versions 2021-01-19 10:47:24 +00:00
LinuxServer-CI 79fbaf5552 Bot Updating Package Versions 2021-01-17 10:05:07 -05:00
LinuxServer-CI 25a333a288 Bot Updating Templated Files 2021-01-17 09:52:21 -05:00
LinuxServer-CI 7764d5dd4a Bot Updating Package Versions 2021-01-10 14:51:16 +00:00
LinuxServer-CI c4da19a1bb Bot Updating Package Versions 2020-12-20 14:42:53 +00:00
LinuxServer-CI ee9236b33c Bot Updating Templated Files 2020-12-20 14:34:29 +00:00
LinuxServer-CI 1967332c26 Bot Updating Templated Files 2020-12-20 14:33:04 +00:00
LinuxServer-CI 9a45938fe6 Bot Updating Package Versions 2020-12-13 14:38:17 +00:00
aptalca 74ef7608bf
Merge pull request #7 from linuxserver/master-wf
add trigger workflows
2020-12-02 20:14:21 -05:00
aptalca 855c8ceef4 add trigger workflows 2020-12-02 19:47:30 -05:00
LinuxServer-CI 43cc3d5582 Bot Updating Package Versions 2020-11-20 17:25:41 +00:00
LinuxServer-CI 54136a98c5 Bot Updating Package Versions 2020-11-13 17:21:58 +00:00
LinuxServer-CI fddd5cc4f1 Bot Updating Package Versions 2020-11-06 17:25:33 +00:00
LinuxServer-CI 55dc96aeda Bot Updating Package Versions 2020-11-01 22:17:20 -05:00
LinuxServer-CI c9954b09c8 Bot Updating Templated Files 2020-11-02 03:03:07 +00:00
thelamer ac0030b1ff update baseimages 2020-11-01 19:00:50 -08:00
LinuxServer-CI d295cd8606 Bot Updating Package Versions 2020-10-30 17:22:12 +00:00
LinuxServer-CI 2e175488a0 Bot Updating Templated Files 2020-10-09 12:16:12 -04:00
LinuxServer-CI 01ca4642e7 Bot Updating Templated Files 2020-10-09 16:15:03 +00:00
LinuxServer-CI 56beadb196 Bot Updating Package Versions 2020-09-25 16:21:10 +00:00
LinuxServer-CI 6955bca405 Bot Updating Package Versions 2020-09-18 12:18:19 -04:00
LinuxServer-CI cc273d1d9e Bot Updating Package Versions 2020-09-11 17:25:28 +01:00
LinuxServer-CI 541455f85a Bot Updating Package Versions 2020-08-21 12:19:13 -04:00
LinuxServer-CI 48dc1d5fec Bot Updating Templated Files 2020-08-21 12:14:47 -04:00
LinuxServer-CI 7d70d06709 Bot Updating Package Versions 2020-08-14 16:22:03 +00:00
LinuxServer-CI 5b7dc582a1 Bot Updating Templated Files 2020-08-07 16:16:04 +00:00
LinuxServer-CI 068ca9f1f2 Bot Updating Templated Files 2020-08-07 12:14:53 -04:00
LinuxServer-CI b22fbd7236 Bot Updating Package Versions 2020-07-31 16:19:58 +00:00
LinuxServer-CI 0c492bd64c Bot Updating Package Versions 2020-07-24 12:23:31 -04:00
LinuxServer-CI 0b317aaf68 Bot Updating Package Versions 2020-07-17 12:20:59 -04:00
LinuxServer-CI a1e570cb5f Bot Updating Package Versions 2020-07-10 16:22:41 +00:00
LinuxServer-CI f2b77d4305 Bot Updating Package Versions 2020-07-03 16:21:21 +00:00
LinuxServer-CI 2f7dabdbe2 Bot Updating Package Versions 2020-06-26 16:40:12 +00:00
LinuxServer-CI 95328a342c Bot Updating Package Versions 2020-06-12 12:20:57 -04:00
LinuxServer-CI fdf83bcde0 Bot Updating Package Versions 2020-06-05 12:21:05 -04:00
LinuxServer-CI a8339fa091 Bot Updating Package Versions 2020-05-29 12:39:58 -04:00
LinuxServer-CI 8232a9564f Bot Updating Templated Files 2020-05-29 12:14:48 -04:00
LinuxServer-CI 9a5ab43e1e Bot Updating Package Versions 2020-05-22 16:21:03 +00:00
LinuxServer-CI a54b8a5440 Bot Updating Package Versions 2020-05-15 12:21:38 -04:00
LinuxServer-CI eaeddbe1b8 Bot Updating Templated Files 2020-05-01 16:15:18 +00:00
LinuxServer-CI 80b09b2756 Bot Updating Package Versions 2020-04-24 16:44:49 +00:00
LinuxServer-CI 2fe103ab78 Bot Updating Package Versions 2020-04-17 11:35:12 -05:00
LinuxServer-CI bbeebd7e39 Bot Updating Package Versions 2020-04-10 12:35:29 -04:00
LinuxServer-CI 76d7a93ab3 Bot Updating Package Versions 2020-03-27 13:25:21 -04:00
LinuxServer-CI a33d1d2d97 Bot Updating Package Versions 2020-03-20 17:37:20 +00:00
LinuxServer-CI a63c934384 Bot Updating Package Versions 2020-03-13 18:46:02 +01:00
LinuxServer-CI 6838cfc98a Bot Updating Package Versions 2020-02-21 12:19:10 -05:00
LinuxServer-CI 76027b41fa Bot Updating Package Versions 2020-02-14 17:38:18 +00:00
aptalca 4d596f0bc5 support http auth 2020-02-07 13:48:42 -08:00
LinuxServer-CI 39c415e8ae Bot Updating Package Versions 2020-02-07 17:25:24 +00:00
LinuxServer-CI 5b9c2fc06d Bot Updating Package Versions 2020-01-31 17:32:44 +00:00
LinuxServer-CI fdb7eb29d5 Bot Updating Package Versions 2020-01-24 17:24:32 +00:00
LinuxServer-CI e6d0b4568e Bot Updating Package Versions 2020-01-17 12:19:40 -05:00
LinuxServer-CI 36b9329708 Bot Updating Package Versions 2019-12-13 18:38:03 +01:00
LinuxServer-CI 833974d4c8 Bot Updating Package Versions 2019-12-06 12:35:04 -05:00
LinuxServer-CI 2cd6dfe09d Bot Updating Templated Files 2019-11-27 17:42:29 -05:00
LinuxServer-CI e2c79315c6 Bot Updating Package Versions 2019-11-22 18:20:29 +01:00
LinuxServer-CI d21ab6a538 Bot Updating Package Versions 2019-11-01 13:35:33 -04:00
LinuxServer-CI 38bfe5a25c Bot Updating Templated Files 2019-11-01 13:14:50 -04:00
LinuxServer-CI 780225fd64 Bot Updating Package Versions 2019-10-18 17:38:57 +01:00
LinuxServer-CI 91fb2e092a Bot Updating Package Versions 2019-10-11 12:36:38 -04:00
LinuxServer-CI 822db9e4c2 Bot Updating Templated Files 2019-10-11 17:15:55 +01:00
LinuxServer-CI ead3503f05 Bot Updating Templated Files 2019-10-11 17:15:05 +01:00
LinuxServer-CI 7185b411bf Bot Updating Package Versions 2019-10-04 17:19:45 +01:00
LinuxServer-CI a68c229faa Bot Updating Package Versions 2019-09-20 17:20:07 +01:00
LinuxServer-CI f54e9d49c5 Bot Updating Package Versions 2019-09-13 12:33:22 -04:00
LinuxServer-CI 1b97d053da Bot Updating Package Versions 2019-09-06 12:39:01 -04:00
LinuxServer-CI 34a0ecaeb0 Bot Updating Templated Files 2019-09-06 12:17:10 -04:00
LinuxServer-CI 8f5da6b16f Bot Updating Templated Files 2019-09-06 12:15:33 -04:00
LinuxServer-CI 13c17c4222 Bot Updating Package Versions 2019-08-30 12:19:04 -04:00
LinuxServer-CI d12a76dfed Bot Updating Templated Files 2019-08-16 18:36:29 -04:00
aptalca a3cb850566 typo 2019-08-16 15:35:31 -07:00
LinuxServer-CI 3506f1f2b3 Bot Updating Package Versions 2019-08-08 17:22:52 +00:00
aptalca a947b31ad6
Merge pull request #3 from thelamer/master
adding zip and unzip
2019-08-08 13:01:48 -04:00
thelamer 741842ca34 adding zip and unzip 2019-08-08 09:39:45 -07:00
LinuxServer-CI 6b165e4e7e Bot Updating Package Versions 2019-08-02 18:35:17 +02:00
LinuxServer-CI 84394431dc Bot Updating Package Versions 2019-07-26 17:21:40 +01:00
LinuxServer-CI 2858623c03 Bot Updating Package Versions 2019-07-19 16:30:08 +00:00
LinuxServer-CI 1c6d735108 Bot Updating Package Versions 2019-07-12 18:28:59 +01:00
LinuxServer-CI 37800de766 Bot Updating Package Versions 2019-07-05 17:34:00 +01:00
LinuxServer-CI 95dc7f710a Bot Updating Package Versions 2019-06-28 16:33:14 +00:00
11 zmienionych plików z 56 dodań i 861 usunięć

20
.editorconfig 100755
Wyświetl plik

@ -0,0 +1,20 @@
# This file is globally distributed to all container image projects from
# https://github.com/linuxserver/docker-jenkins-builder/blob/master/.editorconfig
# top-most EditorConfig file
root = true
# Unix-style newlines with a newline ending every file
[*]
end_of_line = lf
insert_final_newline = true
# trim_trailing_whitespace may cause unintended issues and should not be globally set true
trim_trailing_whitespace = false
[{Dockerfile*,**.yml}]
indent_style = space
indent_size = 2
[{**.sh,root/etc/cont-init.d/**,root/etc/services.d/**}]
indent_style = space
indent_size = 4

1
.gitignore vendored 100644
Wyświetl plik

@ -0,0 +1 @@
.jenkins-external

Wyświetl plik

@ -1,11 +1,14 @@
FROM lsiobase/cloud9:files as builder
FROM lsiobase/ubuntu:bionic
FROM forge.citizen4.eu/miklo/baseimage-cloud9:files as builder
FROM ghcr.io/linuxserver/baseimage-ubuntu:jammy
# set version label
ARG BUILD_DATE
ARG VERSION
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
LABEL maintainer="thelamer"
ARG VERSION=baseimage-cloud9-jammy
LABEL build_version="forge.citizen4.eu version:- ${VERSION} Build-date:- ${BUILD_DATE}"
LABEL maintainer="miklo"
# add files from c9base
COPY --from=builder /buildout/ /
@ -17,7 +20,13 @@ RUN \
curl \
git \
gnupg \
sudo && \
sudo \
unzip \
zip \
ca-certificates \
ssh \
mc \
wget && \
echo "**** Cleanup and user perms ****" && \
usermod -aG sudo \
abc && \

Wyświetl plik

@ -1,5 +1,5 @@
FROM lsiobase/cloud9:arm64v8-files as builder
FROM lsiobase/ubuntu:arm64v8-bionic
FROM ghcr.io/linuxserver/baseimage-cloud9:arm64v8-files as builder
FROM ghcr.io/linuxserver/baseimage-ubuntu:arm64v8-bionic
# set version label
ARG BUILD_DATE
@ -17,7 +17,9 @@ RUN \
curl \
git \
gnupg \
sudo && \
sudo \
unzip \
zip && \
echo "**** Cleanup and user perms ****" && \
usermod -aG sudo \
abc && \

Wyświetl plik

@ -1,5 +1,5 @@
FROM lsiobase/cloud9:arm32v7-files as builder
FROM lsiobase/ubuntu:arm32v7-bionic
FROM ghcr.io/linuxserver/baseimage-cloud9:arm32v7-files as builder
FROM ghcr.io/linuxserver/baseimage-ubuntu:arm32v7-bionic
# set version label
ARG BUILD_DATE
@ -17,7 +17,9 @@ RUN \
curl \
git \
gnupg \
sudo && \
sudo \
unzip \
zip && \
echo "**** Cleanup and user perms ****" && \
usermod -aG sudo \
abc && \

659
Jenkinsfile vendored
Wyświetl plik

@ -1,659 +0,0 @@
pipeline {
agent {
label 'X86-64-MULTI'
}
// Input to determine if this is a package check
parameters {
string(defaultValue: 'false', description: 'package check run', name: 'PACKAGE_CHECK')
}
// Configuration for the variables used for this specific repo
environment {
BUILDS_DISCORD=credentials('build_webhook_url')
GITHUB_TOKEN=credentials('498b4638-2d02-4ce5-832d-8a57d01d97ab')
BUILD_VERSION_ARG = 'CLOUD9_VERSION'
LS_USER = 'linuxserver'
LS_REPO = 'docker-baseimage-cloud9'
CONTAINER_NAME = 'baseimage-cloud9'
DOCKERHUB_IMAGE = 'lsiobase/cloud9'
DEV_DOCKERHUB_IMAGE = 'lsiodev/cloud9-base'
PR_DOCKERHUB_IMAGE = 'lspipepr/cloud9-base'
DIST_IMAGE = 'ubuntu'
MULTIARCH='true'
CI='true'
CI_WEB='true'
CI_PORT='8000'
CI_SSL='false'
CI_DELAY='120'
CI_DOCKERENV='TZ=US/Pacific'
CI_AUTH='user:password'
CI_WEBPATH=''
}
stages {
// Setup all the basic environment variables needed for the build
stage("Set ENV Variables base"){
steps{
script{
env.EXIT_STATUS = ''
env.LS_RELEASE = sh(
script: '''docker run --rm alexeiled/skopeo sh -c 'skopeo inspect docker://docker.io/'${DOCKERHUB_IMAGE}':latest 2>/dev/null' | jq -r '.Labels.build_version' | awk '{print $3}' | grep '\\-ls' || : ''',
returnStdout: true).trim()
env.LS_RELEASE_NOTES = sh(
script: '''cat readme-vars.yml | awk -F \\" '/date: "[0-9][0-9].[0-9][0-9].[0-9][0-9]:/ {print $4;exit;}' | sed -E ':a;N;$!ba;s/\\r{0,1}\\n/\\\\n/g' ''',
returnStdout: true).trim()
env.GITHUB_DATE = sh(
script: '''date '+%Y-%m-%dT%H:%M:%S%:z' ''',
returnStdout: true).trim()
env.COMMIT_SHA = sh(
script: '''git rev-parse HEAD''',
returnStdout: true).trim()
env.CODE_URL = 'https://github.com/' + env.LS_USER + '/' + env.LS_REPO + '/commit/' + env.GIT_COMMIT
env.DOCKERHUB_LINK = 'https://hub.docker.com/r/' + env.DOCKERHUB_IMAGE + '/tags/'
env.PULL_REQUEST = env.CHANGE_ID
env.LICENSE_TAG = sh(
script: '''#!/bin/bash
if [ -e LICENSE ] ; then
cat LICENSE | md5sum | cut -c1-8
else
echo none
fi''',
returnStdout: true).trim()
}
script{
env.LS_RELEASE_NUMBER = sh(
script: '''echo ${LS_RELEASE} |sed 's/^.*-ls//g' ''',
returnStdout: true).trim()
}
script{
env.LS_TAG_NUMBER = sh(
script: '''#! /bin/bash
tagsha=$(git rev-list -n 1 ${LS_RELEASE} 2>/dev/null)
if [ "${tagsha}" == "${COMMIT_SHA}" ]; then
echo ${LS_RELEASE_NUMBER}
elif [ -z "${GIT_COMMIT}" ]; then
echo ${LS_RELEASE_NUMBER}
else
echo $((${LS_RELEASE_NUMBER} + 1))
fi''',
returnStdout: true).trim()
}
}
}
/* #######################
Package Version Tagging
####################### */
// Grab the current package versions in Git to determine package tag
stage("Set Package tag"){
steps{
script{
env.PACKAGE_TAG = sh(
script: '''#!/bin/bash
if [ -e package_versions.txt ] ; then
cat package_versions.txt | md5sum | cut -c1-8
else
echo none
fi''',
returnStdout: true).trim()
}
}
}
/* ########################
External Release Tagging
######################## */
// If this is an os release set release type to none to indicate no external release
stage("Set ENV os"){
steps{
script{
env.EXT_RELEASE = env.PACKAGE_TAG
env.RELEASE_LINK = 'none'
}
}
}
// Sanitize the release tag and strip illegal docker or github characters
stage("Sanitize tag"){
steps{
script{
env.EXT_RELEASE_CLEAN = sh(
script: '''echo ${EXT_RELEASE} | sed 's/[~,%@+;:/]//g' ''',
returnStdout: true).trim()
}
}
}
// If this is a master build use live docker endpoints
stage("Set ENV live build"){
when {
branch "master"
environment name: 'CHANGE_ID', value: ''
}
steps {
script{
env.IMAGE = env.DOCKERHUB_IMAGE
if (env.MULTIARCH == 'true') {
env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + '|arm32v7-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + '|arm64v8-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
} else {
env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
}
env.META_TAG = env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
}
}
}
// If this is a dev build use dev docker endpoints
stage("Set ENV dev build"){
when {
not {branch "master"}
environment name: 'CHANGE_ID', value: ''
}
steps {
script{
env.IMAGE = env.DEV_DOCKERHUB_IMAGE
if (env.MULTIARCH == 'true') {
env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '|arm32v7-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '|arm64v8-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
} else {
env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
}
env.META_TAG = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
env.DOCKERHUB_LINK = 'https://hub.docker.com/r/' + env.DEV_DOCKERHUB_IMAGE + '/tags/'
}
}
}
// If this is a pull request build use dev docker endpoints
stage("Set ENV PR build"){
when {
not {environment name: 'CHANGE_ID', value: ''}
}
steps {
script{
env.IMAGE = env.PR_DOCKERHUB_IMAGE
if (env.MULTIARCH == 'true') {
env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST + '|arm32v7-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST + '|arm64v8-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST
} else {
env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST
}
env.META_TAG = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST
env.CODE_URL = 'https://github.com/' + env.LS_USER + '/' + env.LS_REPO + '/pull/' + env.PULL_REQUEST
env.DOCKERHUB_LINK = 'https://hub.docker.com/r/' + env.PR_DOCKERHUB_IMAGE + '/tags/'
}
}
}
// Run ShellCheck
stage('ShellCheck') {
when {
environment name: 'CI', value: 'true'
}
steps {
withCredentials([
string(credentialsId: 'spaces-key', variable: 'DO_KEY'),
string(credentialsId: 'spaces-secret', variable: 'DO_SECRET')
]) {
script{
env.SHELLCHECK_URL = 'https://lsio-ci.ams3.digitaloceanspaces.com/' + env.IMAGE + '/' + env.META_TAG + '/shellcheck-result.xml'
}
sh '''curl -sL https://raw.githubusercontent.com/linuxserver/docker-shellcheck/master/checkrun.sh | /bin/bash'''
sh '''#! /bin/bash
set -e
docker pull lsiodev/spaces-file-upload:latest
docker run --rm \
-e DESTINATION=\"${IMAGE}/${META_TAG}/shellcheck-result.xml\" \
-e FILE_NAME="shellcheck-result.xml" \
-e MIMETYPE="text/xml" \
-v ${WORKSPACE}:/mnt \
-e SECRET_KEY=\"${DO_SECRET}\" \
-e ACCESS_KEY=\"${DO_KEY}\" \
-t lsiodev/spaces-file-upload:latest \
python /upload.py'''
}
}
}
// Use helper containers to render templated files
stage('Update-Templates') {
when {
branch "master"
environment name: 'CHANGE_ID', value: ''
expression {
env.CONTAINER_NAME != null
}
}
steps {
sh '''#! /bin/bash
set -e
TEMPDIR=$(mktemp -d)
docker pull linuxserver/jenkins-builder:latest
docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -e GITHUB_BRANCH=master -v ${TEMPDIR}:/ansible/jenkins linuxserver/jenkins-builder:latest
docker pull linuxserver/doc-builder:latest
docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -e GITHUB_BRANCH=master -v ${TEMPDIR}:/ansible/readme linuxserver/doc-builder:latest
if [ "$(md5sum ${TEMPDIR}/${LS_REPO}/Jenkinsfile | awk '{ print $1 }')" != "$(md5sum Jenkinsfile | awk '{ print $1 }')" ] || \
[ "$(md5sum ${TEMPDIR}/${CONTAINER_NAME}/README.md | awk '{ print $1 }')" != "$(md5sum README.md | awk '{ print $1 }')" ] || \
[ "$(cat ${TEMPDIR}/${LS_REPO}/LICENSE | md5sum | cut -c1-8)" != "${LICENSE_TAG}" ]; then
mkdir -p ${TEMPDIR}/repo
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO}
git --git-dir ${TEMPDIR}/repo/${LS_REPO}/.git checkout -f master
cp ${TEMPDIR}/${CONTAINER_NAME}/README.md ${TEMPDIR}/repo/${LS_REPO}/
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/Jenkinsfile ${TEMPDIR}/repo/${LS_REPO}/
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/LICENSE ${TEMPDIR}/repo/${LS_REPO}/
cd ${TEMPDIR}/repo/${LS_REPO}/
git --git-dir ${TEMPDIR}/repo/${LS_REPO}/.git add Jenkinsfile README.md LICENSE
git --git-dir ${TEMPDIR}/repo/${LS_REPO}/.git commit -m 'Bot Updating Templated Files'
git --git-dir ${TEMPDIR}/repo/${LS_REPO}/.git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git --all
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
else
echo "false" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
fi
mkdir -p ${TEMPDIR}/gitbook
git clone https://github.com/linuxserver/docker-documentation.git ${TEMPDIR}/gitbook/docker-documentation
if [[ "${BRANCH_NAME}" == "master" ]] && [[ (! -f ${TEMPDIR}/gitbook/docker-documentation/images/docker-${CONTAINER_NAME}.md) || ("$(md5sum ${TEMPDIR}/gitbook/docker-documentation/images/docker-${CONTAINER_NAME}.md | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/${CONTAINER_NAME}/docker-${CONTAINER_NAME}.md | awk '{ print $1 }')") ]]; then
cp ${TEMPDIR}/${CONTAINER_NAME}/docker-${CONTAINER_NAME}.md ${TEMPDIR}/gitbook/docker-documentation/images/
cd ${TEMPDIR}/gitbook/docker-documentation/
git add images/docker-${CONTAINER_NAME}.md
git commit -m 'Bot Updating Templated Files'
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/docker-documentation.git --all
fi
rm -Rf ${TEMPDIR}'''
script{
env.FILES_UPDATED = sh(
script: '''cat /tmp/${COMMIT_SHA}-${BUILD_NUMBER}''',
returnStdout: true).trim()
}
}
}
// Exit the build if the Templated files were just updated
stage('Template-exit') {
when {
branch "master"
environment name: 'CHANGE_ID', value: ''
environment name: 'FILES_UPDATED', value: 'true'
expression {
env.CONTAINER_NAME != null
}
}
steps {
script{
env.EXIT_STATUS = 'ABORTED'
}
}
}
/* ###############
Build Container
############### */
// Build Docker container for push to LS Repo
stage('Build-Single') {
when {
environment name: 'MULTIARCH', value: 'false'
environment name: 'EXIT_STATUS', value: ''
}
steps {
sh "docker build --no-cache --pull -t ${IMAGE}:${META_TAG} \
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${META_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
}
}
// Build MultiArch Docker containers for push to LS Repo
stage('Build-Multi') {
when {
environment name: 'MULTIARCH', value: 'true'
environment name: 'EXIT_STATUS', value: ''
}
parallel {
stage('Build X86') {
steps {
sh "docker build --no-cache --pull -t ${IMAGE}:amd64-${META_TAG} \
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${META_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
}
}
stage('Build ARMHF') {
agent {
label 'ARMHF'
}
steps {
withCredentials([
[
$class: 'UsernamePasswordMultiBinding',
credentialsId: '3f9ba4d5-100d-45b0-a3c4-633fd6061207',
usernameVariable: 'DOCKERUSER',
passwordVariable: 'DOCKERPASS'
]
]) {
echo 'Logging into DockerHub'
sh '''#! /bin/bash
echo $DOCKERPASS | docker login -u $DOCKERUSER --password-stdin
'''
sh "docker build --no-cache --pull -f Dockerfile.armhf -t ${IMAGE}:arm32v7-${META_TAG} \
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${META_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
sh "docker tag ${IMAGE}:arm32v7-${META_TAG} lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}"
sh "docker push lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}"
sh '''docker rmi \
${IMAGE}:arm32v7-${META_TAG} \
lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} || :'''
}
}
}
stage('Build ARM64') {
agent {
label 'ARM64'
}
steps {
withCredentials([
[
$class: 'UsernamePasswordMultiBinding',
credentialsId: '3f9ba4d5-100d-45b0-a3c4-633fd6061207',
usernameVariable: 'DOCKERUSER',
passwordVariable: 'DOCKERPASS'
]
]) {
echo 'Logging into DockerHub'
sh '''#! /bin/bash
echo $DOCKERPASS | docker login -u $DOCKERUSER --password-stdin
'''
sh "docker build --no-cache --pull -f Dockerfile.aarch64 -t ${IMAGE}:arm64v8-${META_TAG} \
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${META_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
sh "docker tag ${IMAGE}:arm64v8-${META_TAG} lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}"
sh "docker push lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}"
sh '''docker rmi \
${IMAGE}:arm64v8-${META_TAG} \
lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} || :'''
}
}
}
}
}
// Take the image we just built and dump package versions for comparison
stage('Update-packages') {
when {
branch "master"
environment name: 'CHANGE_ID', value: ''
environment name: 'EXIT_STATUS', value: ''
}
steps {
sh '''#! /bin/bash
set -e
TEMPDIR=$(mktemp -d)
if [ "${MULTIARCH}" == "true" ]; then
LOCAL_CONTAINER=${IMAGE}:amd64-${META_TAG}
else
LOCAL_CONTAINER=${IMAGE}:${META_TAG}
fi
if [ "${DIST_IMAGE}" == "alpine" ]; then
docker run --rm --entrypoint '/bin/sh' -v ${TEMPDIR}:/tmp ${LOCAL_CONTAINER} -c '\
apk info -v > /tmp/package_versions.txt && \
sort -o /tmp/package_versions.txt /tmp/package_versions.txt && \
chmod 777 /tmp/package_versions.txt'
elif [ "${DIST_IMAGE}" == "ubuntu" ]; then
docker run --rm --entrypoint '/bin/sh' -v ${TEMPDIR}:/tmp ${LOCAL_CONTAINER} -c '\
apt list -qq --installed | sed "s#/.*now ##g" | cut -d" " -f1 > /tmp/package_versions.txt && \
sort -o /tmp/package_versions.txt /tmp/package_versions.txt && \
chmod 777 /tmp/package_versions.txt'
fi
NEW_PACKAGE_TAG=$(md5sum ${TEMPDIR}/package_versions.txt | cut -c1-8 )
echo "Package tag sha from current packages in buit container is ${NEW_PACKAGE_TAG} comparing to old ${PACKAGE_TAG} from github"
if [ "${NEW_PACKAGE_TAG}" != "${PACKAGE_TAG}" ]; then
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/${LS_REPO}
git --git-dir ${TEMPDIR}/${LS_REPO}/.git checkout -f master
cp ${TEMPDIR}/package_versions.txt ${TEMPDIR}/${LS_REPO}/
cd ${TEMPDIR}/${LS_REPO}/
wait
git add package_versions.txt
git commit -m 'Bot Updating Package Versions'
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git --all
echo "true" > /tmp/packages-${COMMIT_SHA}-${BUILD_NUMBER}
echo "Package tag updated, stopping build process"
else
echo "false" > /tmp/packages-${COMMIT_SHA}-${BUILD_NUMBER}
echo "Package tag is same as previous continue with build process"
fi
rm -Rf ${TEMPDIR}'''
script{
env.PACKAGE_UPDATED = sh(
script: '''cat /tmp/packages-${COMMIT_SHA}-${BUILD_NUMBER}''',
returnStdout: true).trim()
}
}
}
// Exit the build if the package file was just updated
stage('PACKAGE-exit') {
when {
branch "master"
environment name: 'CHANGE_ID', value: ''
environment name: 'PACKAGE_UPDATED', value: 'true'
environment name: 'EXIT_STATUS', value: ''
}
steps {
script{
env.EXIT_STATUS = 'ABORTED'
}
}
}
// Exit the build if this is just a package check and there are no changes to push
stage('PACKAGECHECK-exit') {
when {
branch "master"
environment name: 'CHANGE_ID', value: ''
environment name: 'PACKAGE_UPDATED', value: 'false'
environment name: 'EXIT_STATUS', value: ''
expression {
params.PACKAGE_CHECK == 'true'
}
}
steps {
script{
env.EXIT_STATUS = 'ABORTED'
}
}
}
/* #######
Testing
####### */
// Run Container tests
stage('Test') {
when {
environment name: 'CI', value: 'true'
environment name: 'EXIT_STATUS', value: ''
}
steps {
withCredentials([
string(credentialsId: 'spaces-key', variable: 'DO_KEY'),
string(credentialsId: 'spaces-secret', variable: 'DO_SECRET')
]) {
script{
env.CI_URL = 'https://lsio-ci.ams3.digitaloceanspaces.com/' + env.IMAGE + '/' + env.META_TAG + '/index.html'
}
sh '''#! /bin/bash
set -e
docker pull lsiodev/ci:latest
if [ "${MULTIARCH}" == "true" ]; then
docker pull lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}
docker pull lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}
docker tag lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm32v7-${META_TAG}
docker tag lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG}
fi
docker run --rm \
--shm-size=1gb \
-v /var/run/docker.sock:/var/run/docker.sock \
-e IMAGE=\"${IMAGE}\" \
-e DELAY_START=\"${CI_DELAY}\" \
-e TAGS=\"${CI_TAGS}\" \
-e META_TAG=\"${META_TAG}\" \
-e PORT=\"${CI_PORT}\" \
-e SSL=\"${CI_SSL}\" \
-e BASE=\"${DIST_IMAGE}\" \
-e SECRET_KEY=\"${DO_SECRET}\" \
-e ACCESS_KEY=\"${DO_KEY}\" \
-e DOCKER_ENV=\"${CI_DOCKERENV}\" \
-e WEB_SCREENSHOT=\"${CI_WEB}\" \
-e WEB_AUTH=\"${CI_AUTH}\" \
-e WEB_PATH=\"${CI_WEBPATH}\" \
-e DO_REGION="ams3" \
-e DO_BUCKET="lsio-ci" \
-t lsiodev/ci:latest \
python /ci/ci.py'''
}
}
}
/* ##################
Release Logic
################## */
// If this is an amd64 only image only push a single image
stage('Docker-Push-Single') {
when {
environment name: 'MULTIARCH', value: 'false'
environment name: 'EXIT_STATUS', value: ''
}
steps {
withCredentials([
[
$class: 'UsernamePasswordMultiBinding',
credentialsId: '3f9ba4d5-100d-45b0-a3c4-633fd6061207',
usernameVariable: 'DOCKERUSER',
passwordVariable: 'DOCKERPASS'
]
]) {
echo 'Logging into DockerHub'
sh '''#! /bin/bash
echo $DOCKERPASS | docker login -u $DOCKERUSER --password-stdin
'''
sh "docker tag ${IMAGE}:${META_TAG} ${IMAGE}:latest"
sh "docker push ${IMAGE}:latest"
sh "docker push ${IMAGE}:${META_TAG}"
sh '''docker rmi \
${IMAGE}:${META_TAG} \
${IMAGE}:latest || :'''
}
}
}
// If this is a multi arch release push all images and define the manifest
stage('Docker-Push-Multi') {
when {
environment name: 'MULTIARCH', value: 'true'
environment name: 'EXIT_STATUS', value: ''
}
steps {
withCredentials([
[
$class: 'UsernamePasswordMultiBinding',
credentialsId: '3f9ba4d5-100d-45b0-a3c4-633fd6061207',
usernameVariable: 'DOCKERUSER',
passwordVariable: 'DOCKERPASS'
]
]) {
sh '''#! /bin/bash
echo $DOCKERPASS | docker login -u $DOCKERUSER --password-stdin
'''
sh '''#! /bin/bash
if [ "${CI}" == "false" ]; then
docker pull lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}
docker pull lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}
docker tag lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm32v7-${META_TAG}
docker tag lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG}
fi'''
sh "docker tag ${IMAGE}:amd64-${META_TAG} ${IMAGE}:amd64-latest"
sh "docker tag ${IMAGE}:arm32v7-${META_TAG} ${IMAGE}:arm32v7-latest"
sh "docker tag ${IMAGE}:arm64v8-${META_TAG} ${IMAGE}:arm64v8-latest"
sh "docker push ${IMAGE}:amd64-${META_TAG}"
sh "docker push ${IMAGE}:arm32v7-${META_TAG}"
sh "docker push ${IMAGE}:arm64v8-${META_TAG}"
sh "docker push ${IMAGE}:amd64-latest"
sh "docker push ${IMAGE}:arm32v7-latest"
sh "docker push ${IMAGE}:arm64v8-latest"
sh "docker manifest push --purge ${IMAGE}:latest || :"
sh "docker manifest create ${IMAGE}:latest ${IMAGE}:amd64-latest ${IMAGE}:arm32v7-latest ${IMAGE}:arm64v8-latest"
sh "docker manifest annotate ${IMAGE}:latest ${IMAGE}:arm32v7-latest --os linux --arch arm"
sh "docker manifest annotate ${IMAGE}:latest ${IMAGE}:arm64v8-latest --os linux --arch arm64 --variant v8"
sh "docker manifest push --purge ${IMAGE}:${META_TAG} || :"
sh "docker manifest create ${IMAGE}:${META_TAG} ${IMAGE}:amd64-${META_TAG} ${IMAGE}:arm32v7-${META_TAG} ${IMAGE}:arm64v8-${META_TAG}"
sh "docker manifest annotate ${IMAGE}:${META_TAG} ${IMAGE}:arm32v7-${META_TAG} --os linux --arch arm"
sh "docker manifest annotate ${IMAGE}:${META_TAG} ${IMAGE}:arm64v8-${META_TAG} --os linux --arch arm64 --variant v8"
sh "docker manifest push --purge ${IMAGE}:latest"
sh "docker manifest push --purge ${IMAGE}:${META_TAG}"
}
}
}
// If this is a public release tag it in the LS Github
stage('Github-Tag-Push-Release') {
when {
branch "master"
expression {
env.LS_RELEASE != env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
}
environment name: 'CHANGE_ID', value: ''
environment name: 'EXIT_STATUS', value: ''
}
steps {
echo "Pushing New tag for current commit ${EXT_RELEASE_CLEAN}-ls${LS_TAG_NUMBER}"
sh '''curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/git/tags \
-d '{"tag":"'${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}'",\
"object": "'${COMMIT_SHA}'",\
"message": "Tagging Release '${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}' to master",\
"type": "commit",\
"tagger": {"name": "LinuxServer Jenkins","email": "jenkins@linuxserver.io","date": "'${GITHUB_DATE}'"}}' '''
echo "Pushing New release for Tag"
sh '''#! /bin/bash
echo "Updating base packages to ${PACKAGE_TAG}" > releasebody.json
echo '{"tag_name":"'${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}'",\
"target_commitish": "master",\
"name": "'${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}'",\
"body": "**LinuxServer Changes:**\\n\\n'${LS_RELEASE_NOTES}'\\n**OS Changes:**\\n\\n' > start
printf '","draft": false,"prerelease": false}' >> releasebody.json
paste -d'\\0' start releasebody.json > releasebody.json.done
curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/releases -d @releasebody.json.done'''
}
}
// Use helper container to sync the current README on master to the dockerhub endpoint
stage('Sync-README') {
when {
environment name: 'CHANGE_ID', value: ''
environment name: 'EXIT_STATUS', value: ''
}
steps {
withCredentials([
[
$class: 'UsernamePasswordMultiBinding',
credentialsId: '3f9ba4d5-100d-45b0-a3c4-633fd6061207',
usernameVariable: 'DOCKERUSER',
passwordVariable: 'DOCKERPASS'
]
]) {
sh '''#! /bin/bash
docker pull lsiodev/readme-sync
docker run --rm=true \
-e DOCKERHUB_USERNAME=$DOCKERUSER \
-e DOCKERHUB_PASSWORD=$DOCKERPASS \
-e GIT_REPOSITORY=${LS_USER}/${LS_REPO} \
-e DOCKER_REPOSITORY=${IMAGE} \
-e GIT_BRANCH=master \
lsiodev/readme-sync bash -c 'node sync' '''
}
}
}
// If this is a Pull request send the CI link as a comment on it
stage('Pull Request Comment') {
when {
not {environment name: 'CHANGE_ID', value: ''}
environment name: 'CI', value: 'true'
environment name: 'EXIT_STATUS', value: ''
}
steps {
sh '''curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/issues/${PULL_REQUEST}/comments \
-d '{"body": "I am a bot, here are the test results for this PR: \\n'${CI_URL}' \\n'${SHELLCHECK_URL}'"}' '''
}
}
}
/* ######################
Send status to Discord
###################### */
post {
always {
script{
if (env.EXIT_STATUS == "ABORTED"){
sh 'echo "build aborted"'
}
else if (currentBuild.currentResult == "SUCCESS"){
sh ''' curl -X POST --data '{"avatar_url": "https://wiki.jenkins-ci.org/download/attachments/2916393/headshot.png","embeds": [{"color": 1681177,\
"description": "**Build:** '${BUILD_NUMBER}'\\n**CI Results:** '${CI_URL}'\\n**ShellCheck Results:** '${SHELLCHECK_URL}'\\n**Status:** Success\\n**Job:** '${RUN_DISPLAY_URL}'\\n**Change:** '${CODE_URL}'\\n**External Release:**: '${RELEASE_LINK}'\\n**DockerHub:** '${DOCKERHUB_LINK}'\\n"}],\
"username": "Jenkins"}' ${BUILDS_DISCORD} '''
}
else {
sh ''' curl -X POST --data '{"avatar_url": "https://wiki.jenkins-ci.org/download/attachments/2916393/headshot.png","embeds": [{"color": 16711680,\
"description": "**Build:** '${BUILD_NUMBER}'\\n**CI Results:** '${CI_URL}'\\n**ShellCheck Results:** '${SHELLCHECK_URL}'\\n**Status:** failure\\n**Job:** '${RUN_DISPLAY_URL}'\\n**Change:** '${CODE_URL}'\\n**External Release:**: '${RELEASE_LINK}'\\n**DockerHub:** '${DOCKERHUB_LINK}'\\n"}],\
"username": "Jenkins"}' ${BUILDS_DISCORD} '''
}
}
}
}
}

Wyświetl plik

@ -1,17 +1,16 @@
<!-- DO NOT EDIT THIS FILE MANUALLY -->
<!-- Please read the https://github.com/linuxserver/docker-baseimage-cloud9/blob/master/.github/CONTRIBUTING.md -->
# 2023-08-06 INITIAL FORK
Forked from linuxserver/docker-baseimage-cloud9 for upgrade base image and all tools to most current versions
[linuxserverurl]: https://linuxserver.io
[forumurl]: https://forum.linuxserver.io
[ircurl]: https://www.linuxserver.io/irc/
[![linuxserver.io](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/linuxserver_medium.png?v=4&s=4000)][linuxserverurl]
## Contact information:-
| Type | Address/Details |
| :---: | --- |
| Discord | [Discord](https://discord.gg/YWrKVTn) |
| IRC | freenode at `#linuxserver.io` more information at:- [IRC][ircurl]
| Forum | [Linuserver.io forum][forumurl] |
&nbsp;
&nbsp;
@ -21,6 +20,3 @@
A custom base image built with [Ubuntu linux](https://www.ubuntu.com/) and [Cloud9](https://github.com/c9/core)..
The following line is only in this repo for loop testing:
- { date: "01.01.50:", desc: "I am the release message for this internal repo." }

Wyświetl plik

@ -1,26 +0,0 @@
---
# jenkins variables
project_name: docker-baseimage-cloud9
external_type: os
release_type: stable
release_tag: latest
ls_branch: master
repo_vars:
- BUILD_VERSION_ARG = 'CLOUD9_VERSION'
- LS_USER = 'linuxserver'
- LS_REPO = 'docker-baseimage-cloud9'
- CONTAINER_NAME = 'baseimage-cloud9'
- DOCKERHUB_IMAGE = 'lsiobase/cloud9'
- DEV_DOCKERHUB_IMAGE = 'lsiodev/cloud9-base'
- PR_DOCKERHUB_IMAGE = 'lspipepr/cloud9-base'
- DIST_IMAGE = 'ubuntu'
- MULTIARCH='true'
- CI='true'
- CI_WEB='true'
- CI_PORT='8000'
- CI_SSL='false'
- CI_DELAY='120'
- CI_DOCKERENV='TZ=US/Pacific'
- CI_AUTH='user:password'
- CI_WEBPATH=''

Wyświetl plik

@ -1,150 +0,0 @@
adduser3.116ubuntu1
apt1.6.11
apt-utils1.6.11
base-files10.1ubuntu2.4
base-passwd3.5.44
bash4.4.18-2ubuntu1.1
bsdutils1:2.31.1-0.4ubuntu3.3
bzip21.0.6-8.1
ca-certificates20180409
coreutils8.28-1ubuntu1
curl7.58.0-2ubuntu3.7
dash0.5.8-2.10
debconf1.5.66ubuntu1
debianutils4.8.4
diffutils1:3.6-1
dirmngr2.2.4-1ubuntu1.2
dpkg1.19.0.5ubuntu2.1
e2fsprogs1.44.1-1ubuntu1.1
fdisk2.31.1-0.4ubuntu3.3
findutils4.6.0+git+20170828-2
gcc-8-base8.3.0-6ubuntu1~18.04.1
git1:2.17.1-1ubuntu0.4
git-man1:2.17.1-1ubuntu0.4
gnupg2.2.4-1ubuntu1.2
gnupg-l10n2.2.4-1ubuntu1.2
gnupg-utils2.2.4-1ubuntu1.2
gpg2.2.4-1ubuntu1.2
gpg-agent2.2.4-1ubuntu1.2
gpgconf2.2.4-1ubuntu1.2
gpgsm2.2.4-1ubuntu1.2
gpgv2.2.4-1ubuntu1.2
gpg-wks-client2.2.4-1ubuntu1.2
gpg-wks-server2.2.4-1ubuntu1.2
grep3.1-2
gzip1.6-5ubuntu1
hostname3.20
init-system-helpers1.51
krb5-locales1.16-2ubuntu0.1
libacl12.2.52-3build1
libapt-inst2.01.6.11
libapt-pkg5.01.6.11
libasn1-8-heimdal7.5.0+dfsg-1
libassuan02.5.1-2
libattr11:2.4.47-2build1
libaudit11:2.8.2-1ubuntu1
libaudit-common1:2.8.2-1ubuntu1
libblkid12.31.1-0.4ubuntu3.3
libbz2-1.01.0.6-8.1
libc62.27-3ubuntu1
libcap-ng00.7.7-3.1
libc-bin2.27-3ubuntu1
libcom-err21.44.1-1ubuntu1.1
libcurl3-gnutls7.58.0-2ubuntu3.7
libcurl47.58.0-2ubuntu3.7
libdb5.35.3.28-13.1ubuntu1.1
libdebconfclient00.213ubuntu1
liberror-perl0.17025-1
libexpat12.2.5-3
libext2fs21.44.1-1ubuntu1.1
libfdisk12.31.1-0.4ubuntu3.3
libffi63.2.1-8
libgcc11:8.3.0-6ubuntu1~18.04.1
libgcrypt201.8.1-4ubuntu1.1
libgdbm51.14.1-6
libgdbm-compat41.14.1-6
libgmp102:6.1.2+dfsg-2
libgnutls303.5.18-1ubuntu1.1
libgpg-error01.27-6
libgssapi3-heimdal7.5.0+dfsg-1
libgssapi-krb5-21.16-2ubuntu0.1
libhcrypto4-heimdal7.5.0+dfsg-1
libheimbase1-heimdal7.5.0+dfsg-1
libheimntlm0-heimdal7.5.0+dfsg-1
libhogweed43.4-1
libhx509-5-heimdal7.5.0+dfsg-1
libidn2-02.0.4-1.1build2
libk5crypto31.16-2ubuntu0.1
libkeyutils11.5.9-9.2ubuntu2
libkrb5-26-heimdal7.5.0+dfsg-1
libkrb5-31.16-2ubuntu0.1
libkrb5support01.16-2ubuntu0.1
libksba81.3.5-2
libldap-2.4-22.4.45+dfsg-1ubuntu1.2
libldap-common2.4.45+dfsg-1ubuntu1.2
liblz4-10.0~r131-2ubuntu3
liblzma55.2.2-1.3
libmount12.31.1-0.4ubuntu3.3
libncurses56.1-1ubuntu1.18.04
libncursesw56.1-1ubuntu1.18.04
libnettle63.4-1
libnghttp2-141.30.0-1ubuntu1
libnpth01.5-3
libp11-kit00.23.9-2
libpam0g1.1.8-3.6ubuntu2.18.04.1
libpam-modules1.1.8-3.6ubuntu2.18.04.1
libpam-modules-bin1.1.8-3.6ubuntu2.18.04.1
libpam-runtime1.1.8-3.6ubuntu2.18.04.1
libpcre32:8.39-9
libperl5.265.26.1-6ubuntu0.3
libprocps62:3.3.12-3ubuntu1.1
libpsl50.19.1-5build1
libreadline77.0-3
libroken18-heimdal7.5.0+dfsg-1
librtmp12.4+20151223.gitfa8646d.1-1
libsasl2-22.1.27~101-g0780600+dfsg-3ubuntu2
libsasl2-modules2.1.27~101-g0780600+dfsg-3ubuntu2
libsasl2-modules-db2.1.27~101-g0780600+dfsg-3ubuntu2
libseccomp22.4.1-0ubuntu0.18.04.2
libselinux12.7-2build2
libsemanage12.7-2build2
libsemanage-common2.7-2build2
libsepol12.7-1
libsmartcols12.31.1-0.4ubuntu3.3
libsqlite3-03.22.0-1
libss21.44.1-1ubuntu1.1
libssl1.11.1.1-1ubuntu2.1~18.04.2
libstdc++68.3.0-6ubuntu1~18.04.1
libsystemd0237-3ubuntu10.22
libtasn1-64.13-2
libtinfo56.1-1ubuntu1.18.04
libudev1237-3ubuntu10.22
libunistring20.9.9-0ubuntu2
libuuid12.31.1-0.4ubuntu3.3
libwind0-heimdal7.5.0+dfsg-1
libzstd11.3.3+dfsg-2ubuntu1
locales2.27-3ubuntu1
login1:4.5-1ubuntu2
lsb-base9.20170808ubuntu1
mawk1.3.3-17ubuntu3
mount2.31.1-0.4ubuntu3.3
ncurses-base6.1-1ubuntu1.18.04
ncurses-bin6.1-1ubuntu1.18.04
openssl1.1.1-1ubuntu2.1~18.04.2
passwd1:4.5-1ubuntu2
perl5.26.1-6ubuntu0.3
perl-base5.26.1-6ubuntu0.3
perl-modules-5.265.26.1-6ubuntu0.3
pinentry-curses1.1.0-1
procps2:3.3.12-3ubuntu1.1
publicsuffix20180223.1310-1
readline-common7.0-3
sed4.4-2
sensible-utils0.0.12
sudo1.8.21p2-3ubuntu1
sysvinit-utils2.88dsf-59.10ubuntu1
tar1.29b-2ubuntu0.1
tzdata2019a-0ubuntu0.18.04
ubuntu-keyring2018.09.18.1~18.04.0
util-linux2.31.1-0.4ubuntu3.3
zlib1g1:1.2.11.dfsg-0ubuntu2

Wyświetl plik

@ -1,5 +1,5 @@
---
project_deprecation_status: true
# project information
project_name: baseimage-cloud9
full_custom_readme: |
@ -16,7 +16,7 @@ full_custom_readme: |
| :---: | --- |
| Discord | [Discord](https://discord.gg/YWrKVTn) |
| IRC | freenode at `#linuxserver.io` more information at:- [IRC][ircurl]
| Forum | [Linuserver.io forum][forumurl] |
| Forum | [LinuxServer.io forum][forumurl] |
&nbsp;
&nbsp;

Wyświetl plik

@ -3,4 +3,4 @@
cd /c9sdk
HOME=/c9bins exec \
s6-setuidgid abc \
/c9bins/.c9/node/bin/node server.js --listen 0.0.0.0 -p 8000 -w /code -a :
/c9bins/.c9/node/bin/node server.js --listen 0.0.0.0 -p 8000 -w /code -a "${USERNAME}:${PASSWORD}"