Build with Jenkins
parent
c0045cf45d
commit
1b1be7c87c
|
@ -4,5 +4,6 @@ ENV DEBIAN_PRIORITY=critical
|
||||||
|
|
||||||
RUN apt update
|
RUN apt update
|
||||||
RUN apt dist-upgrade -y
|
RUN apt dist-upgrade -y
|
||||||
RUN apt install -y build-essential cmake g++ qt6-base-dev qt6-webengine-dev linguist-qt6 libgl1-mesa-dev qt6-tools-dev qt6-l10n-tools qt6-tools-dev-tools libqt6core5compat6-dev lxqt-build-tools qt6-webengine-dev-tools libqt6webenginecore6-bin
|
RUN apt install -y openssh-client build-essential cmake g++ qt6-base-dev qt6-webengine-dev linguist-qt6 libgl1-mesa-dev qt6-tools-dev qt6-l10n-tools qt6-tools-dev-tools libqt6core5compat6-dev lxqt-build-tools qt6-webengine-dev-tools libqt6webenginecore6-bin ninja-build
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,29 +1,79 @@
|
||||||
pipeline {
|
pipeline {
|
||||||
agent {
|
agent {
|
||||||
docker {
|
docker {
|
||||||
image 'ubuntu:24.04'
|
image 'ogbrowser-build:latest'
|
||||||
|
|
||||||
args '-u root:root'
|
args '-u root:root'
|
||||||
|
label 'jenkins-slave'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
stages {
|
stages {
|
||||||
stage('Install Dependencies') {
|
stage('Prepare environment') {
|
||||||
steps {
|
steps {
|
||||||
sh '''
|
sh '''
|
||||||
apt-get update
|
apt-get update
|
||||||
apt-get install -y build-essential cmake g++ qt6-base-dev qt6-webengine-dev linguist-qt6 libgl1-mesa-dev qt6-tools-dev qt6-l10n-tools qt6-tools-dev-tools libqt6core5compat6-dev lxqt-build-tools qt6-webengine-dev-tools libqt6webenginecore6-bin
|
apt-get install -y openssh-client
|
||||||
'''
|
'''
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
stage('Install Dependencies') {
|
||||||
|
steps {
|
||||||
|
sshagent (credentials: ['aptly-key']) {
|
||||||
|
|
||||||
|
sh '''
|
||||||
|
pwd
|
||||||
|
uname -a
|
||||||
|
df
|
||||||
|
env
|
||||||
|
|
||||||
|
|
||||||
|
export DEBIAN_FRONTEND=noninteractive
|
||||||
|
apt-get update
|
||||||
|
apt-get install -y build-essential cmake g++ qt6-base-dev qt6-webengine-dev linguist-qt6 libgl1-mesa-dev qt6-tools-dev qt6-l10n-tools qt6-tools-dev-tools libqt6core5compat6-dev lxqt-build-tools qt6-webengine-dev-tools libqt6webenginecore6-bin ninja-build
|
||||||
|
|
||||||
|
|
||||||
|
echo "Test"
|
||||||
|
aptly=172.17.8.68
|
||||||
|
ssh aptly@${aptly} -o StrictHostKeyChecking=no "uptime"
|
||||||
|
|
||||||
|
'''
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
stage('Build') {
|
stage('Build') {
|
||||||
steps {
|
steps {
|
||||||
sh '''
|
sh '''
|
||||||
mkdir -p build
|
mkdir -p build
|
||||||
cd build
|
cd build
|
||||||
cmake .. -G Ninja
|
cmake .. -DCPACK_PACKAGE_VERSION_PATCH=${BUILD_NUMBER} -G Ninja
|
||||||
ninja
|
ninja
|
||||||
'''
|
'''
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
stage('Create package') {
|
||||||
|
steps {
|
||||||
|
sh '''
|
||||||
|
cd build
|
||||||
|
cpack -G DEB
|
||||||
|
'''
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
stage("Upload package to Aptly") {
|
||||||
|
steps {
|
||||||
|
sshagent (credentials : ['aptly-key']) {
|
||||||
|
withCredentials([string(credentialsId: 'aptly-gpg-passphrase', variable: 'GPG_PASSPHRASE')]) {
|
||||||
|
sh '''
|
||||||
|
aptly=172.17.8.68
|
||||||
|
scp -o StrictHostKeyChecking=no build/OGBrowser-2.0.${BUILD_NUMBER}-Linux.deb aptly@${aptly}:/tmp
|
||||||
|
ssh aptly@${aptly} -o StrictHostKeyChecking=no "aptly repo add opengnsys /tmp/OGBrowser-2.0.${BUILD_NUMBER}-Linux.deb"
|
||||||
|
'''
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
post {
|
post {
|
||||||
always {
|
always {
|
||||||
|
|
|
@ -53,7 +53,10 @@ else()
|
||||||
find_package(Qt5LinguistTools "${QT_MINIMUM_VERSION}" REQUIRED)
|
find_package(Qt5LinguistTools "${QT_MINIMUM_VERSION}" REQUIRED)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
find_package(lxqt-build-tools ${LXQTBT_MINIMUM_VERSION} QUIET)
|
||||||
|
if (NOT lxqt-build-tools_FOUND)
|
||||||
find_package(lxqt2-build-tools ${LXQTBT_MINIMUM_VERSION} REQUIRED)
|
find_package(lxqt2-build-tools ${LXQTBT_MINIMUM_VERSION} REQUIRED)
|
||||||
|
endif()
|
||||||
|
|
||||||
if(USE_UTF8PROC)
|
if(USE_UTF8PROC)
|
||||||
find_package(Utf8Proc REQUIRED)
|
find_package(Utf8Proc REQUIRED)
|
||||||
|
|
|
@ -8,6 +8,24 @@ set(CMAKE_AUTOUIC ON)
|
||||||
set(CMAKE_AUTOMOC ON)
|
set(CMAKE_AUTOMOC ON)
|
||||||
set(CMAKE_AUTORCC ON)
|
set(CMAKE_AUTORCC ON)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if (NOT DEFINED CPACK_PACKAGE_VERSION_MAJOR)
|
||||||
|
set(CPACK_PACKAGE_VERSION_MAJOR "2")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if (NOT DEFINED CPACK_PACKAGE_VERSION_MINOR)
|
||||||
|
set(CPACK_PACKAGE_VERSION_MINOR "0")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
|
||||||
|
if (NOT DEFINED CPACK_PACKAGE_VERSION_PATCH)
|
||||||
|
set(CPACK_PACKAGE_VERSION_PATCH "0")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
|
||||||
set(KB_LAYOUT_DIR "/usr/lib/qtermwidget/kb" CACHE INTERNAL "")
|
set(KB_LAYOUT_DIR "/usr/lib/qtermwidget/kb" CACHE INTERNAL "")
|
||||||
|
|
||||||
|
|
||||||
|
@ -16,6 +34,7 @@ find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Widgets LinguistTools Network WebE
|
||||||
|
|
||||||
|
|
||||||
message(STATUS "Building browser with Qt ${QT_VERSION}")
|
message(STATUS "Building browser with Qt ${QT_VERSION}")
|
||||||
|
message(STATUS "Browser version is ${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
|
||||||
|
|
||||||
set(SOURCES
|
set(SOURCES
|
||||||
main.cpp
|
main.cpp
|
||||||
|
@ -56,7 +75,8 @@ set(CPACK_PACKAGE_NAME "OGBrowser")
|
||||||
set(CPACK_PACKAGE_VENDOR "OpenGnsys")
|
set(CPACK_PACKAGE_VENDOR "OpenGnsys")
|
||||||
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "OpenGnsys Browser")
|
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "OpenGnsys Browser")
|
||||||
set(CMAKE_PROJECT_HOMEPAGE_URL "https://opengnsys.es/web/")
|
set(CMAKE_PROJECT_HOMEPAGE_URL "https://opengnsys.es/web/")
|
||||||
set(CPACK_PACKAGE_VERSION "2.0")
|
|
||||||
|
set(CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
|
||||||
|
|
||||||
set(CPACK_SET_DESTDIR true)
|
set(CPACK_SET_DESTDIR true)
|
||||||
set(CPACK_PACKAGING_INSTALL_PREFIX "/usr")
|
set(CPACK_PACKAGING_INSTALL_PREFIX "/usr")
|
||||||
|
|
Loading…
Reference in New Issue