Build with Jenkins
parent
c0045cf45d
commit
1b1be7c87c
|
@ -4,5 +4,6 @@ ENV DEBIAN_PRIORITY=critical
|
|||
|
||||
RUN apt update
|
||||
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 {
|
||||
agent {
|
||||
docker {
|
||||
image 'ubuntu:24.04'
|
||||
image 'ogbrowser-build:latest'
|
||||
|
||||
args '-u root:root'
|
||||
label 'jenkins-slave'
|
||||
}
|
||||
}
|
||||
stages {
|
||||
stage('Install Dependencies') {
|
||||
stage('Prepare environment') {
|
||||
steps {
|
||||
sh '''
|
||||
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') {
|
||||
steps {
|
||||
sh '''
|
||||
mkdir -p build
|
||||
cd build
|
||||
cmake .. -G Ninja
|
||||
cmake .. -DCPACK_PACKAGE_VERSION_PATCH=${BUILD_NUMBER} -G 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 {
|
||||
always {
|
||||
|
|
|
@ -53,7 +53,10 @@ else()
|
|||
find_package(Qt5LinguistTools "${QT_MINIMUM_VERSION}" REQUIRED)
|
||||
endif()
|
||||
|
||||
find_package(lxqt2-build-tools ${LXQTBT_MINIMUM_VERSION} REQUIRED)
|
||||
find_package(lxqt-build-tools ${LXQTBT_MINIMUM_VERSION} QUIET)
|
||||
if (NOT lxqt-build-tools_FOUND)
|
||||
find_package(lxqt2-build-tools ${LXQTBT_MINIMUM_VERSION} REQUIRED)
|
||||
endif()
|
||||
|
||||
if(USE_UTF8PROC)
|
||||
find_package(Utf8Proc REQUIRED)
|
||||
|
|
|
@ -8,6 +8,24 @@ set(CMAKE_AUTOUIC ON)
|
|||
set(CMAKE_AUTOMOC 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 "")
|
||||
|
||||
|
||||
|
@ -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 "Browser version is ${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
|
||||
|
||||
set(SOURCES
|
||||
main.cpp
|
||||
|
@ -56,7 +75,8 @@ set(CPACK_PACKAGE_NAME "OGBrowser")
|
|||
set(CPACK_PACKAGE_VENDOR "OpenGnsys")
|
||||
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "OpenGnsys Browser")
|
||||
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_PACKAGING_INSTALL_PREFIX "/usr")
|
||||
|
|
Loading…
Reference in New Issue