mirror of
				https://github.com/Telecominfraproject/wlan-cloud-owprov-ui.git
				synced 2025-10-29 09:42:23 +00:00 
			
		
		
		
	Merge pull request #1 from Telecominfraproject/WIFI-4893-docker-support-owprov-ui
[WIFI-4893] Docker support for owprov-ui
This commit is contained in:
		
							
								
								
									
										28
									
								
								.dockerignore
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								.dockerignore
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,28 @@ | ||||
| # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. | ||||
|  | ||||
| # dependencies | ||||
| /node_modules | ||||
| /.pnp | ||||
| .pnp.js | ||||
|  | ||||
| # testing | ||||
| /coverage | ||||
|  | ||||
| # production | ||||
| /build | ||||
|  | ||||
| # misc | ||||
| .DS_Store | ||||
| .env.local | ||||
| .env.development.local | ||||
| .env.test.local | ||||
| .env.production.local | ||||
|  | ||||
| npm-debug.log* | ||||
| yarn-debug.log* | ||||
| yarn-error.log* | ||||
|  | ||||
| .git | ||||
| .github | ||||
| Dockerfile | ||||
| helm | ||||
							
								
								
									
										68
									
								
								.github/workflows/ci.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										68
									
								
								.github/workflows/ci.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,68 @@ | ||||
| name: Build Docker image | ||||
|  | ||||
| on: | ||||
|   push: | ||||
|     paths-ignore: | ||||
|       - '**.md' | ||||
|     branches: | ||||
|       - main | ||||
|       - 'release/*' | ||||
|     tags: | ||||
|       - 'v*' | ||||
|   pull_request: | ||||
|     branches: | ||||
|       - main | ||||
|  | ||||
| defaults: | ||||
|   run: | ||||
|     shell: bash | ||||
|  | ||||
| jobs: | ||||
|   docker: | ||||
|     runs-on: ubuntu-20.04 | ||||
|     env: | ||||
|       DOCKER_REGISTRY_URL: tip-tip-wlan-cloud-ucentral.jfrog.io | ||||
|       DOCKER_REGISTRY_USERNAME: ucentral | ||||
|     steps: | ||||
|     - uses: actions/checkout@v2 | ||||
|  | ||||
|     - name: Build Docker image | ||||
|       run: docker build -t owprov-ui:${{ github.sha }} . | ||||
|  | ||||
|     - name: Tag Docker image | ||||
|       run: | | ||||
|         TAGS="${{ github.sha }}" | ||||
|  | ||||
|         if [[ ${GITHUB_REF} == "refs/heads/"* ]] | ||||
|         then | ||||
|           CURRENT_TAG=$(echo ${GITHUB_REF#refs/heads/} | tr '/' '-') | ||||
|           TAGS="$TAGS $CURRENT_TAG" | ||||
|         else | ||||
|           if [[ ${GITHUB_REF} == "refs/tags/"* ]] | ||||
|           then | ||||
|             CURRENT_TAG=$(echo ${GITHUB_REF#refs/tags/} | tr '/' '-') | ||||
|             TAGS="$TAGS $CURRENT_TAG" | ||||
|           else # PR build | ||||
|             CURRENT_TAG=$(echo ${GITHUB_HEAD_REF#refs/heads/} | tr '/' '-') | ||||
|             TAGS="$TAGS $CURRENT_TAG" | ||||
|           fi | ||||
|         fi | ||||
|  | ||||
|         echo "Result tags: $TAGS" | ||||
|  | ||||
|         for tag in $TAGS; do | ||||
|           docker tag owprov-ui:${{ github.sha }} ${{ env.DOCKER_REGISTRY_URL }}/owprov-ui:$tag | ||||
|         done | ||||
|  | ||||
|     - name: Log into Docker registry | ||||
|       if: startsWith(github.ref, 'refs/tags/') || startsWith(github.ref, 'refs/pull/') || github.ref == 'refs/heads/main' | ||||
|       uses: docker/login-action@v1 | ||||
|       with: | ||||
|         registry: ${{ env.DOCKER_REGISTRY_URL }} | ||||
|         username: ${{ env.DOCKER_REGISTRY_USERNAME }} | ||||
|         password: ${{ secrets.DOCKER_REGISTRY_PASSWORD }} | ||||
|  | ||||
|     - name: Push Docker images | ||||
|       if: startsWith(github.ref, 'refs/tags/') || startsWith(github.ref, 'refs/pull/') || github.ref == 'refs/heads/main' | ||||
|       run: | | ||||
|         docker images | grep ${{ env.DOCKER_REGISTRY_URL }}/owprov-ui | awk -F ' ' '{print $1":"$2}' | xargs -I {} docker push {} | ||||
							
								
								
									
										19
									
								
								.github/workflows/cleanup.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								.github/workflows/cleanup.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,19 @@ | ||||
| name: Clean up PR Docker images | ||||
|  | ||||
| on: | ||||
|   pull_request: | ||||
|     branches: | ||||
|       - main | ||||
|     types: [ closed ] | ||||
|  | ||||
| defaults: | ||||
|   run: | ||||
|     shell: bash | ||||
|  | ||||
| jobs: | ||||
|   cleanup: | ||||
|     runs-on: ubuntu-latest | ||||
|     steps: | ||||
|       - run: | | ||||
|           export PR_BRANCH_TAG=$(echo ${GITHUB_HEAD_REF#refs/heads/} | tr '/' '-') | ||||
|           curl -uucentral:${{ secrets.DOCKER_REGISTRY_PASSWORD }} -X DELETE "https://tip.jfrog.io/artifactory/tip-wlan-cloud-ucentral/owprov-ui/$PR_BRANCH_TAG" | ||||
							
								
								
									
										9
									
								
								Dockerfile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								Dockerfile
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,9 @@ | ||||
| FROM node:14-alpine3.14 AS build | ||||
| COPY package.json package-lock.json / | ||||
| COPY . . | ||||
| RUN npm install | ||||
| RUN npm run build | ||||
|  | ||||
| FROM nginx:1.21.3-alpine AS runtime | ||||
| COPY --from=build /build/ /usr/share/nginx/html/ | ||||
| COPY --from=build docker-entrypoint.d/40-generate-config.sh /docker-entrypoint.d/40-generate-config.sh | ||||
							
								
								
									
										6
									
								
								docker-entrypoint.d/40-generate-config.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										6
									
								
								docker-entrypoint.d/40-generate-config.sh
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,6 @@ | ||||
| #!/bin/ash | ||||
| # Check if variables are set | ||||
| export DEFAULT_UCENTRALSEC_URL="${DEFAULT_UCENTRALSEC_URL:-https://localhost:16001}" | ||||
| export ALLOW_UCENTRALSEC_CHANGE="${ALLOW_UCENTRALSEC_CHANGE:-false}" | ||||
|  | ||||
| echo '{"DEFAULT_UCENTRALSEC_URL": "'$DEFAULT_UCENTRALSEC_URL'","ALLOW_UCENTRALSEC_CHANGE": '$ALLOW_UCENTRALSEC_CHANGE'}' > /usr/share/nginx/html/config.json | ||||
		Reference in New Issue
	
	Block a user
	 Dmitry Dunaev
					Dmitry Dunaev