mirror of
https://gitlab.com/psono/psono-client
synced 2025-04-19 03:22:16 +03:00
split webpack builds into multiple commands
Signed-off-by: Sascha Pfeiffer <sascha.pfeiffer@psono.com>
This commit is contained in:
parent
8bf94bf784
commit
8b26eb0457
@ -14,7 +14,7 @@ test-unittests:
|
||||
stage: test
|
||||
image: psono-docker.jfrog.io/ubuntu:20.04
|
||||
script:
|
||||
- sh ./var/build-ubuntu.sh
|
||||
- sh ./var/prep-build.sh
|
||||
- npm run test
|
||||
# - DEBIAN_FRONTEND="noninteractive" apt-get install -y --no-install-recommends xvfb x11vnc fluxbox xterm chromium-browser
|
||||
## - curl -fsSL https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add -
|
||||
@ -29,7 +29,9 @@ test-linter:
|
||||
stage: test
|
||||
image: psono-docker.jfrog.io/ubuntu:18.04
|
||||
script:
|
||||
- sh ./var/build-ubuntu.sh
|
||||
- sh ./var/prep-build.sh
|
||||
- npm run buildfirefox
|
||||
- gulp updateversion
|
||||
- npm install -g addons-linter@1.17.0
|
||||
- cat ./build/firefox/manifest.json
|
||||
- addons-linter --help
|
||||
@ -72,7 +74,9 @@ build-docker-image:
|
||||
DOCKER_HOST: 'tcp://docker:2375'
|
||||
script:
|
||||
- sh ./var/download_translations_from_artifactory.sh
|
||||
- sh ./var/build-ubuntu.sh
|
||||
- sh ./var/prep-build.sh
|
||||
- npm run buildwebclient
|
||||
- gulp updateversion
|
||||
- curl -fSL "https://download.docker.com/linux/static/stable/x86_64/docker-17.12.1-ce.tgz" -o docker.tgz && echo "1270dce1bd7e1838d62ae21d2505d87f16efc1d9074645571daaefdfd0c14054 *docker.tgz" | sha256sum -c - && tar -xzvf docker.tgz && mv docker/* /usr/local/bin/ && rm -Rf docker*
|
||||
- docker info
|
||||
- echo $artifactory_credentials | docker login --username=gitlab --password-stdin psono-docker.jfrog.io
|
||||
@ -92,7 +96,9 @@ build-firefox-extension:
|
||||
image: psono-docker.jfrog.io/ubuntu:18.04
|
||||
script:
|
||||
- sh ./var/download_translations_from_artifactory.sh
|
||||
- sh ./var/build-ubuntu.sh
|
||||
- sh ./var/prep-build.sh
|
||||
- npm run buildfirefox
|
||||
- gulp updateversion
|
||||
- sh ./var/package-firefox-extension.sh
|
||||
- curl -fL https://getcli.jfrog.io | sh
|
||||
- ./jfrog rt c rt-server-1 --url=https://psono.jfrog.io/psono --user=gitlab --password=$artifactory_credentials
|
||||
@ -115,7 +121,9 @@ build-chrome-extension:
|
||||
image: psono-docker.jfrog.io/ubuntu:18.04
|
||||
script:
|
||||
- sh ./var/download_translations_from_artifactory.sh
|
||||
- sh ./var/build-ubuntu.sh
|
||||
- sh ./var/prep-build.sh
|
||||
- npm run buildchrome
|
||||
- gulp updateversion
|
||||
- sh ./var/package-chrome-extension.sh
|
||||
- curl -fL https://getcli.jfrog.io | sh
|
||||
- ./jfrog rt c rt-server-1 --url=https://psono.jfrog.io/psono --user=gitlab --password=$artifactory_credentials
|
||||
@ -138,7 +146,9 @@ build-webclient:
|
||||
image: psono-docker.jfrog.io/ubuntu:18.04
|
||||
script:
|
||||
- sh ./var/download_translations_from_artifactory.sh
|
||||
- sh ./var/build-ubuntu.sh
|
||||
- sh ./var/prep-build.sh
|
||||
- npm run buildwebclient
|
||||
- gulp updateversion
|
||||
- sh ./var/package-webclient.sh
|
||||
- curl -fL https://getcli.jfrog.io | sh
|
||||
- ./jfrog rt c rt-server-1 --url=https://psono.jfrog.io/psono --user=gitlab --password=$artifactory_credentials
|
||||
@ -243,7 +253,9 @@ deploy-chrome:
|
||||
stage: deploy
|
||||
image: psono-docker.jfrog.io/ubuntu:18.04
|
||||
script:
|
||||
- sh ./var/build-ubuntu.sh
|
||||
- sh ./var/prep-build.sh
|
||||
- npm run buildchrome
|
||||
- gulp updateversion
|
||||
- sh ./var/deploy-chrome-extension.sh
|
||||
environment:
|
||||
name: chrome-webstore
|
||||
@ -258,7 +270,9 @@ deploy-firefox:
|
||||
stage: deploy
|
||||
image: psono-docker.jfrog.io/ubuntu:18.04
|
||||
script:
|
||||
- sh ./var/build-ubuntu.sh
|
||||
- sh ./var/prep-build.sh
|
||||
- npm run buildfirefox
|
||||
- gulp updateversion
|
||||
- sh ./var/deploy-firefox-extension.sh
|
||||
environment:
|
||||
name: firefox-webstore
|
||||
|
@ -8,7 +8,10 @@
|
||||
"author": "Sascha Pfeiffer",
|
||||
"scripts": {
|
||||
"dev": "webpack serve --config webpack.environment.dev.js",
|
||||
"build": "webpack --config webpack.environment.prod.js",
|
||||
"build": "webpack --config webpack.environment.prod.all.js",
|
||||
"buildchrome": "webpack --config webpack.environment.prod.chrome.js",
|
||||
"buildfirefox": "webpack --config webpack.environment.prod.firefox.js",
|
||||
"buildwebclient": "webpack --config webpack.environment.prod.webclient.js",
|
||||
"test": "jest"
|
||||
},
|
||||
"jest": {
|
||||
|
@ -1,17 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
apt-get update && \
|
||||
apt-get install -y libfontconfig zip git apt-transport-https ca-certificates curl build-essential openssl && \
|
||||
curl -sL https://deb.nodesource.com/setup_16.x | bash - && \
|
||||
apt-get install -y nodejs && \
|
||||
node --version && \
|
||||
npm --version && \
|
||||
#npm config set registry https://psono.jfrog.io/psono/api/npm/npm/ && \
|
||||
#npm config set @typescript-eslint:registry https://psono.jfrog.io/psono/api/npm/npm/ && \
|
||||
#npm config set @types:registry https://psono.jfrog.io/psono/api/npm/npm/ && \
|
||||
#npm config set @babel:registry https://psono.jfrog.io/psono/api/npm/npm/ && \
|
||||
#npm config set @webassemblyjs:registry https://psono.jfrog.io/psono/api/npm/npm/ && \
|
||||
npm ci && \
|
||||
npm install -g node-poeditor && \
|
||||
npm install -g add gulp && \
|
||||
npm run build && \
|
||||
gulp updateversion
|
10
var/prep-build.sh
Normal file
10
var/prep-build.sh
Normal file
@ -0,0 +1,10 @@
|
||||
#!/usr/bin/env bash
|
||||
apt-get update && \
|
||||
apt-get install -y libfontconfig zip git apt-transport-https ca-certificates curl build-essential openssl && \
|
||||
curl -sL https://deb.nodesource.com/setup_16.x | bash - && \
|
||||
apt-get install -y nodejs && \
|
||||
node --version && \
|
||||
npm --version && \
|
||||
npm ci && \
|
||||
npm install -g node-poeditor && \
|
||||
npm install -g add gulp
|
@ -1,20 +1,9 @@
|
||||
const webpack = require('webpack');
|
||||
const TerserPlugin = require('terser-webpack-plugin');
|
||||
const { merge } = require('webpack-merge');
|
||||
const chrome = require('./webpack.target.chrome');
|
||||
const firefox = require('./webpack.target.firefox');
|
||||
const webclient = require('./webpack.target.webclient');
|
||||
|
||||
const prodConfig = {
|
||||
mode: 'production',
|
||||
devtool: 'source-map',
|
||||
plugins: [
|
||||
],
|
||||
optimization: {
|
||||
minimize: true,
|
||||
minimizer: [new TerserPlugin()],
|
||||
},
|
||||
};
|
||||
const prodConfig = require('./webpack.environment.prod.common');
|
||||
|
||||
module.exports = [
|
||||
merge(chrome, prodConfig),
|
8
webpack.environment.prod.chrome.js
Normal file
8
webpack.environment.prod.chrome.js
Normal file
@ -0,0 +1,8 @@
|
||||
const webpack = require('webpack');
|
||||
const { merge } = require('webpack-merge');
|
||||
const chrome = require('./webpack.target.chrome');
|
||||
const prodConfig = require('./webpack.environment.prod.common');
|
||||
|
||||
module.exports = [
|
||||
merge(chrome, prodConfig),
|
||||
];
|
13
webpack.environment.prod.common.js
Normal file
13
webpack.environment.prod.common.js
Normal file
@ -0,0 +1,13 @@
|
||||
const webpack = require('webpack');
|
||||
const TerserPlugin = require('terser-webpack-plugin');
|
||||
|
||||
module.exports = {
|
||||
mode: 'production',
|
||||
devtool: 'source-map',
|
||||
plugins: [
|
||||
],
|
||||
optimization: {
|
||||
minimize: true,
|
||||
minimizer: [new TerserPlugin()],
|
||||
},
|
||||
};
|
9
webpack.environment.prod.firefox.js
Normal file
9
webpack.environment.prod.firefox.js
Normal file
@ -0,0 +1,9 @@
|
||||
const webpack = require('webpack');
|
||||
const { merge } = require('webpack-merge');
|
||||
const firefox = require('./webpack.target.firefox');
|
||||
const prodConfig = require('./webpack.environment.prod.common');
|
||||
|
||||
|
||||
module.exports = [
|
||||
merge(firefox, prodConfig),
|
||||
];
|
8
webpack.environment.prod.webclient.js
Normal file
8
webpack.environment.prod.webclient.js
Normal file
@ -0,0 +1,8 @@
|
||||
const webpack = require('webpack');
|
||||
const { merge } = require('webpack-merge');
|
||||
const prodConfig = require('./webpack.environment.prod.common');
|
||||
const webclient = require('./webpack.target.webclient');
|
||||
|
||||
module.exports = [
|
||||
merge(webclient, prodConfig)
|
||||
];
|
Loading…
x
Reference in New Issue
Block a user