Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 27 additions & 0 deletions .github/workflows/docker-cd-dev.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: Docker Development Image CD

on:
push:
branches: [ dev ]
workflow_dispatch:

jobs:
docker-cd:
runs-on: ubuntu-latest
steps:

- name: Checkout Repository
uses: actions/checkout@v3

- name: Log in to Docker Hub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_TOKEN }}

- name: Build and push pims-ui Docker image
uses: docker/build-push-action@v2
with:
context: .
push: true
tags: codexrems/pims:REMSvExperimental
35 changes: 0 additions & 35 deletions .github/workflows/docker-cd.yml

This file was deleted.

17 changes: 17 additions & 0 deletions .github/workflows/docker-ci-dev.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
name: Docker Image CI

on:
push:
branches: [ dev ]
workflow_dispatch:

jobs:
docker-ci:
runs-on: ubuntu-latest
steps:

- name: Checkout Repository
uses: actions/checkout@v3

- name: Test Server Docker image Builds
run: docker build -f Dockerfile.dev .
5 changes: 5 additions & 0 deletions Dockerfile.dev
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
FROM node:14-alpine
WORKDIR /home/node/app/pims
COPY --chown=node:node . .
RUN npm install
CMD ./dockerRunnerDev.sh
43 changes: 43 additions & 0 deletions dockerRunnerDev.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
#!/bin/sh

# Handle closing application on signal interrupt (ctrl + c)
trap 'kill $CONTINUOUS_INSTALL_PID $SERVER_PID; gradle --stop; exit' INT

mkdir logs
# Reset log file content for new application boot
echo "*** Logs for continuous installer ***" > ./logs/installer.log
echo "*** Logs for 'npm run start' ***" > ./logs/runner.log

# Print that the application is starting in watch mode
echo "starting application in watch mode..."

# Start the continious build listener process
echo "starting continuous installer..."
npm install

( package_modify_time=$(stat -c %Y package.json)
package_lock_modify_time=$(stat -c %Y package-lock.json)
while sleep 1
do
new_package_modify_time=$(stat -c %Y package.json)
new_package_lock_modify_time=$(stat -c %Y package-lock.json)

if [[ "$package_modify_time" != "$new_package_modify_time" ]] || [[ "$package_lock_modify_time" != "$new_package_lock_modify_time" ]]
then
echo "running npm install..."
npm install | tee ./logs/installer.log
fi

package_modify_time=$new_package_modify_time
package_lock_modify_time=$new_package_lock_modify_time

done ) & CONTINUOUS_INSTALL_PID=$!

# Start server process once initial build finishes
( npm run start | tee ./logs/runner.log ) & SERVER_PID=$!

# Handle application background process exiting
wait $CONTINUOUS_INSTALL_PID $SERVER_PID
EXIT_CODE=$?
echo "application exited with exit code $EXIT_CODE..."

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -40,4 +40,4 @@
"last 1 safari version"
]
}
}
}