Merge branch 'master' of https://gitea.verdnatura.es/verdnatura/hedera-web
gitea/hedera-web/pipeline/head This commit looks good Details

This commit is contained in:
Juan Ferrer 2025-04-14 10:16:11 +02:00
commit 029a41493d
3 changed files with 41 additions and 33 deletions

View File

@ -1,17 +1,11 @@
# Not using buster because of bug: https://bugs.php.net/bug.php?id=78870 FROM registry.verdnatura.es/verdnatura/node:20.18.3-vn1
FROM debian:bookworm-slim
ARG DEBIAN_FRONTEND=noninteractive ARG DEBIAN_FRONTEND=noninteractive
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
curl \
ca-certificates \
gnupg2
# Apache # Apache
RUN apt-get install -y --no-install-recommends \ RUN apt-get update \
&& apt-get install -y --no-install-recommends \
apache2 \ apache2 \
libapache2-mod-php \ libapache2-mod-php \
&& . /etc/apache2/envvars \ && . /etc/apache2/envvars \
@ -21,14 +15,9 @@ RUN apt-get install -y --no-install-recommends \
RUN a2dissite 000-default RUN a2dissite 000-default
# NodeJs
RUN curl -fsSL https://deb.nodesource.com/setup_20.x | bash - \
&& apt-get install -y --no-install-recommends nodejs
# Hedera # Hedera
RUN curl -sL https://apt.verdnatura.es/conf/verdnatura.gpg | tee /etc/apt/trusted.gpg.d/verdnatura.gpg \ RUN curl -sL https://apt.verdnatura.es/conf/verdnatura.gpg | apt-key add - \
&& echo "deb http://apt.verdnatura.es/ bookworm main" \ && echo "deb http://apt.verdnatura.es/ bookworm main" \
> /etc/apt/sources.list.d/vn.list \ > /etc/apt/sources.list.d/vn.list \
&& apt-get update \ && apt-get update \

28
Jenkinsfile vendored
View File

@ -1,8 +1,12 @@
#!/usr/bin/env groovy #!/usr/bin/env groovy
def PROTECTED_BRANCH
def RUN_BUILD
def BRANCH_ENV = [ def BRANCH_ENV = [
test: 'test', test: 'test',
master: 'production' master: 'production',
beta: 'test'
] ]
def remote = [:] def remote = [:]
@ -10,6 +14,15 @@ node {
stage('Setup') { stage('Setup') {
env.NODE_ENV = BRANCH_ENV[env.BRANCH_NAME] ?: 'dev' env.NODE_ENV = BRANCH_ENV[env.BRANCH_NAME] ?: 'dev'
PROTECTED_BRANCH = [
'dev',
'test',
'master',
'beta'
].contains(env.BRANCH_NAME)
RUN_BUILD = PROTECTED_BRANCH
echo "NODE_NAME: ${env.NODE_NAME}" echo "NODE_NAME: ${env.NODE_NAME}"
echo "WORKSPACE: ${env.WORKSPACE}" echo "WORKSPACE: ${env.WORKSPACE}"
} }
@ -22,20 +35,18 @@ pipeline {
stages { stages {
stage('Debuild') { stage('Debuild') {
when { when {
anyOf { expression { PROTECTED_BRANCH }
branch 'master'
branch 'test'
}
} }
agent { agent {
docker { docker {
image 'registry.verdnatura.es/verdnatura/debuild:2.23.4-vn7' image 'registry.verdnatura.es/verdnatura/debuild:2.23.4-vn9'
registryUrl 'https://registry.verdnatura.es/' registryUrl 'https://registry.verdnatura.es/'
registryCredentialsId 'docker-registry' registryCredentialsId 'docker-registry'
} }
} }
steps { steps {
sh 'debuild -us -uc -b' sh 'debuild -us -uc -b'
sh 'rm -rf debuild'
sh 'mkdir -p debuild' sh 'mkdir -p debuild'
sh 'mv ../hedera-web_* debuild' sh 'mv ../hedera-web_* debuild'
@ -55,10 +66,7 @@ pipeline {
} }
stage('Deploy') { stage('Deploy') {
when { when {
anyOf { expression { PROTECTED_BRANCH }
branch 'master'
branch 'test'
}
} }
environment { environment {
CREDS = credentials('docker-registry') CREDS = credentials('docker-registry')

View File

@ -25,12 +25,23 @@ class DbSessionHandler implements \SessionHandlerInterface {
} }
function write($sessionId, $sessionData) { function write($sessionId, $sessionData) {
$session = $this->db->getObject(
'SELECT data, lastUpdate < (NOW() - INTERVAL # SECOND) hasToRefresh
FROM userSession WHERE ssid = #',
[self::UPDATE_INTERVAL, $sessionId]
);
if (!isset($session)
|| $sessionData !== $session->data
|| $session->hasToRefresh) {
$this->db->query( $this->db->query(
'INSERT INTO userSession SET 'INSERT INTO userSession SET
ssid = #, data = #, lastUpdate = NOW() ssid = #, data = #, lastUpdate = NOW()
ON DUPLICATE KEY UPDATE ON DUPLICATE KEY UPDATE
data = VALUES(data), lastUpdate = VALUES(lastUpdate)', data = VALUES(data), lastUpdate = VALUES(lastUpdate)',
[$sessionId, $sessionData]); [$sessionId, $sessionData]);
}
return TRUE; return TRUE;
} }
@ -41,8 +52,8 @@ class DbSessionHandler implements \SessionHandlerInterface {
function gc($maxLifeTime) { function gc($maxLifeTime) {
$this->db->query('DELETE FROM userSession $this->db->query('DELETE FROM userSession
WHERE lastUpdate < TIMESTAMPADD(SECOND, -#, NOW())', WHERE lastUpdate < (NOW() - INTERVAL # SECOND)',
[$maxLifeTime] [$maxLifeTime + self::UPDATE_INTERVAL + 1]
); );
return TRUE; return TRUE;
} }