Deploy build artifacts to nexus
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
parent
c9fa0c023e
commit
e59d8bba6a
9 changed files with 97 additions and 11 deletions
17
.drone.yml
17
.drone.yml
|
@ -5,16 +5,30 @@ name: default
|
||||||
steps:
|
steps:
|
||||||
- name: build-service
|
- name: build-service
|
||||||
image: maven:3.6-jdk-11
|
image: maven:3.6-jdk-11
|
||||||
|
environment:
|
||||||
|
NEXUS_USER:
|
||||||
|
from_secret: nexus_user
|
||||||
|
NEXUS_PASSWORD:
|
||||||
|
from_secret: nexus_password
|
||||||
commands:
|
commands:
|
||||||
|
- mkdir -p /root/.m2
|
||||||
|
- cp service/settings.xml /root/.m2/settings.xml
|
||||||
- cd service/fling
|
- cd service/fling
|
||||||
- mvn clean package
|
- mvn -Pprod clean deploy
|
||||||
|
|
||||||
- name: build-web
|
- name: build-web
|
||||||
image: node:latest
|
image: node:latest
|
||||||
|
environment:
|
||||||
|
NEXUS_USER:
|
||||||
|
from_secret: nexus_user
|
||||||
|
NEXUS_PASSWORD:
|
||||||
|
from_secret: nexus_password
|
||||||
commands:
|
commands:
|
||||||
- ls -al
|
- ls -al
|
||||||
- cd web/fling
|
- cd web/fling
|
||||||
- npm install && CI=false npm run build
|
- npm install && CI=false npm run build
|
||||||
|
- tar czf fling-web-latest.tar.gz build/
|
||||||
|
- curl --user "$NEXUS_USER:$NEXUS_PASSWORD" --upload-file ./fling-web-latest.tar.gz https://nexus.friedl.net/repository/build-artifacts/fling-web-latest.tar.gz
|
||||||
|
|
||||||
- name: publish
|
- name: publish
|
||||||
image: plugins/docker
|
image: plugins/docker
|
||||||
|
@ -24,5 +38,6 @@ steps:
|
||||||
password:
|
password:
|
||||||
from_secret: docker_password
|
from_secret: docker_password
|
||||||
dockerfile: container/Dockerfile
|
dockerfile: container/Dockerfile
|
||||||
|
context: ./container
|
||||||
repo: arminfriedl/fling
|
repo: arminfriedl/fling
|
||||||
tags: dev
|
tags: dev
|
||||||
|
|
|
@ -1,13 +1,22 @@
|
||||||
FROM debian:stable
|
FROM debian:stable
|
||||||
|
|
||||||
RUN ls -al
|
|
||||||
|
|
||||||
RUN apt-get update -y && apt-get upgrade -y && \
|
RUN apt-get update -y && apt-get upgrade -y && \
|
||||||
apt-get install -y nginx openjdk-11-jre && \
|
apt-get install -y nginx openjdk-11-jre wget && \
|
||||||
mkdir -p /var/www/fling && \
|
mkdir -p /var/fling/files && \
|
||||||
mv web/fling/build/* /var/www/fling/ && \
|
mkdir -p /tmp/fling && \
|
||||||
rm -fr web \
|
wget -O /tmp/fling/service.jar "https://nexus.friedl.net/service/rest/v1/search/assets/download?sort=version&maven.groupId=net.friedl&maven.artifactId=fling&maven.baseVersion=*SNAPSHOT&maven.extension=jar" && \
|
||||||
|
wget -O /tmp/fling/web.tar.gz "https://nexus.friedl.net/repository/build-artifacts/fling-web-latest.tar.gz" && \
|
||||||
|
tar xzf /tmp/fling/web.tar.gz -C /tmp/fling && \
|
||||||
|
ls -al /tmp/fling && \
|
||||||
|
mkdir -p /var/www/fling && mv /tmp/fling/build/* /var/www/fling && \
|
||||||
|
mkdir -p /var/fling && mkdir -p /var/fling/files && \
|
||||||
|
mv /tmp/fling/service.jar ./service.jar
|
||||||
|
|
||||||
COPY ./etc/nginx/conf.d /etc/nginx/conf.d
|
COPY ./etc/nginx/conf.d /etc/nginx/conf.d
|
||||||
|
COPY ./entrypoint.sh ./usr/local/bin/entrypoint.sh
|
||||||
|
|
||||||
ENTRYPOINT ["/bin/sh"]
|
VOLUME /var/fling/
|
||||||
|
|
||||||
|
EXPOSE 3000
|
||||||
|
|
||||||
|
ENTRYPOINT ["entrypoint.sh"]
|
||||||
|
|
7
container/entrypoint.sh
Executable file
7
container/entrypoint.sh
Executable file
|
@ -0,0 +1,7 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
set -xe
|
||||||
|
|
||||||
|
nginx
|
||||||
|
|
||||||
|
java -jar service.jar
|
|
@ -2,7 +2,7 @@ server {
|
||||||
listen 3000;
|
listen 3000;
|
||||||
listen [::]:3000;
|
listen [::]:3000;
|
||||||
server_name _;
|
server_name _;
|
||||||
root /var/html/fling;
|
root /var/www/fling;
|
||||||
|
|
||||||
# config to enable HSTS(HTTP Strict Transport Security)
|
# config to enable HSTS(HTTP Strict Transport Security)
|
||||||
add_header Strict-Transport-Security "max-age=15552000; includeSubdomains;";
|
add_header Strict-Transport-Security "max-age=15552000; includeSubdomains;";
|
||||||
|
|
|
@ -137,9 +137,28 @@
|
||||||
</annotationProcessorPaths>
|
</annotationProcessorPaths>
|
||||||
</configuration>
|
</configuration>
|
||||||
</plugin>
|
</plugin>
|
||||||
|
<plugin>
|
||||||
|
<artifactId>maven-deploy-plugin</artifactId>
|
||||||
|
<executions>
|
||||||
|
<execution>
|
||||||
|
<id>default-deploy</id>
|
||||||
|
<phase>deploy</phase>
|
||||||
|
<goals>
|
||||||
|
<goal>deploy</goal>
|
||||||
|
</goals>
|
||||||
|
</execution>
|
||||||
|
</executions>
|
||||||
|
</plugin>
|
||||||
</plugins>
|
</plugins>
|
||||||
</build>
|
</build>
|
||||||
|
|
||||||
|
<distributionManagement>
|
||||||
|
<snapshotRepository>
|
||||||
|
<id>nexus-snapshots</id>
|
||||||
|
<url>https://nexus.friedl.net/repository/maven-snapshots/</url>
|
||||||
|
</snapshotRepository>
|
||||||
|
</distributionManagement>
|
||||||
|
|
||||||
<profiles>
|
<profiles>
|
||||||
<profile>
|
<profile>
|
||||||
<!-- Profile for local development -->
|
<!-- Profile for local development -->
|
||||||
|
@ -168,6 +187,20 @@
|
||||||
</dependency>
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
</profile>
|
</profile>
|
||||||
|
<profile>
|
||||||
|
<!-- Profile for prod deployment -->
|
||||||
|
<id>prod</id>
|
||||||
|
<properties>
|
||||||
|
<spring.profiles.active>prod</spring.profiles.active>
|
||||||
|
</properties>
|
||||||
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.h2database</groupId>
|
||||||
|
<artifactId>h2</artifactId>
|
||||||
|
<scope>runtime</scope>
|
||||||
|
</dependency>
|
||||||
|
</dependencies>
|
||||||
|
</profile>
|
||||||
</profiles>
|
</profiles>
|
||||||
|
|
||||||
</project>
|
</project>
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
spring:
|
spring:
|
||||||
datasource:
|
datasource:
|
||||||
url: jdbc:h2:mem:testdb;
|
url: jdbc:h2:file:/var/fling/testdb;AUTO_SERVER=TRUE;DB_CLOSE_ON_EXIT=FALSE;
|
||||||
driverClassName: org.h2.Driver
|
driverClassName: org.h2.Driver
|
||||||
username: sa
|
username: sa
|
||||||
password:
|
password:
|
||||||
|
@ -18,7 +18,7 @@ fling:
|
||||||
archive.fileystem.directory: "/var/fling/files"
|
archive.fileystem.directory: "/var/fling/files"
|
||||||
security:
|
security:
|
||||||
allowed-origins:
|
allowed-origins:
|
||||||
- "https://friedl.net"
|
- "https://fling.friedl.net"
|
||||||
- "http://localhost:3000"
|
- "http://localhost:3000"
|
||||||
admin-user: "${FLING_ADMIN_USER:admin}"
|
admin-user: "${FLING_ADMIN_USER:admin}"
|
||||||
admin-password: "${FLING_ADMIN_PASSWORD:123}"
|
admin-password: "${FLING_ADMIN_PASSWORD:123}"
|
||||||
|
|
22
service/settings.xml
Normal file
22
service/settings.xml
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
|
||||||
|
https://maven.apache.org/xsd/settings-1.0.0.xsd">
|
||||||
|
|
||||||
|
<servers>
|
||||||
|
<server>
|
||||||
|
<id>nexus-snapshots</id>
|
||||||
|
<username>${env.NEXUS_USER}</username>
|
||||||
|
<password>${env.NEXUS_PASSWORD}</password>
|
||||||
|
</server>
|
||||||
|
</servers>
|
||||||
|
|
||||||
|
<mirrors>
|
||||||
|
<mirror>
|
||||||
|
<!--This sends everything else to /public -->
|
||||||
|
<id>nexus</id>
|
||||||
|
<mirrorOf>central</mirrorOf>
|
||||||
|
<url>https://nexus.friedl.net/repository/maven-central/</url>
|
||||||
|
</mirror>
|
||||||
|
</mirrors>
|
||||||
|
</settings>
|
Loading…
Reference in a new issue