mirror of
https://github.com/goharbor/harbor.git
synced 2024-11-22 18:25:56 +01:00
Merge branch 'seprate_harbor_portal_from_harbor_core' into angular6
This commit is contained in:
commit
db8d7b9c1c
14
.gitignore
vendored
14
.gitignore
vendored
@ -24,11 +24,11 @@ src/ui/static/styles.css
|
|||||||
src/ui/static/i18n
|
src/ui/static/i18n
|
||||||
src/ui/static/shapes
|
src/ui/static/shapes
|
||||||
|
|
||||||
src/ui_ng/coverage/
|
src/portal/coverage/
|
||||||
src/ui_ng/dist/
|
src/portal/dist/
|
||||||
src/ui_ng/html-report/
|
src/portal/html-report/
|
||||||
src/ui_ng/node_modules/
|
src/portal/node_modules/
|
||||||
src/ui_ng/typings/
|
src/portal/typings/
|
||||||
**/*npm-debug.log.*
|
**/*npm-debug.log.*
|
||||||
**/*yarn-error.log.*
|
**/*yarn-error.log.*
|
||||||
.idea/
|
.idea/
|
||||||
@ -39,8 +39,8 @@ src/ui_ng/typings/
|
|||||||
**/ssl/
|
**/ssl/
|
||||||
**/proxy.config.json
|
**/proxy.config.json
|
||||||
|
|
||||||
src/ui_ng/src/**/*.js
|
src/portal/src/**/*.js
|
||||||
src/ui_ng/src/**/*.js.map
|
src/portal/src/**/*.js.map
|
||||||
|
|
||||||
**/npm*.log
|
**/npm*.log
|
||||||
|
|
||||||
|
@ -71,7 +71,7 @@ before_script:
|
|||||||
|
|
||||||
script:
|
script:
|
||||||
- sudo make run_clarity_ut CLARITYIMAGE=goharbor/harbor-clarity-ui-builder:${UI_BUILDER_VERSION}
|
- sudo make run_clarity_ut CLARITYIMAGE=goharbor/harbor-clarity-ui-builder:${UI_BUILDER_VERSION}
|
||||||
- cat ./src/ui_ng/npm-ut-test-results
|
- cat ./src/portal/npm-ut-test-results
|
||||||
- sudo docker-compose -f ./make/docker-compose.test.yml up -d
|
- sudo docker-compose -f ./make/docker-compose.test.yml up -d
|
||||||
- make go_check
|
- make go_check
|
||||||
- ./tests/pushimage.sh
|
- ./tests/pushimage.sh
|
||||||
|
@ -93,7 +93,7 @@ The folder graph below shows the structure of the source code folder `harbor/src
|
|||||||
│ ├── static
|
│ ├── static
|
||||||
│ ├── utils
|
│ ├── utils
|
||||||
│ └── views
|
│ └── views
|
||||||
├── ui_ng # The code of harbor web UI
|
├── portal # The code of harbor web UI
|
||||||
│ ├── e2e
|
│ ├── e2e
|
||||||
│ ├── lib # Source code of @harbor/ui npm library which includes the main UI components of web UI
|
│ ├── lib # Source code of @harbor/ui npm library which includes the main UI components of web UI
|
||||||
│ └── src # General web page UI code of Harbor
|
│ └── src # General web page UI code of Harbor
|
||||||
@ -134,11 +134,11 @@ Harbor web UI is built based on [Clarity](https://vmware.github.io/clarity/) and
|
|||||||
**Npm Package Dependency:** Run the following commands to restore the package dependencies.
|
**Npm Package Dependency:** Run the following commands to restore the package dependencies.
|
||||||
```
|
```
|
||||||
#For the web UI
|
#For the web UI
|
||||||
cd $REPO_DIR/src/ui_ng
|
cd $REPO_DIR/src/portal
|
||||||
npm install
|
npm install
|
||||||
|
|
||||||
#For the UI library
|
#For the UI library
|
||||||
cd $REPO_DIR/src/ui_ng/lib
|
cd $REPO_DIR/src/portal/lib
|
||||||
npm install
|
npm install
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -213,7 +213,7 @@ go test -v ./...
|
|||||||
|
|
||||||
Run UI library test cases:
|
Run UI library test cases:
|
||||||
```
|
```
|
||||||
#cd #working_dir/src/ui_ng/lib
|
#cd #working_dir/src/portal/lib
|
||||||
npm run test
|
npm run test
|
||||||
```
|
```
|
||||||
|
|
||||||
|
13
Makefile
13
Makefile
@ -68,7 +68,7 @@ MAKEDEVPATH=$(MAKEPATH)/dev
|
|||||||
SRCPATH=./src
|
SRCPATH=./src
|
||||||
TOOLSPATH=$(BUILDPATH)/tools
|
TOOLSPATH=$(BUILDPATH)/tools
|
||||||
UIPATH=$(BUILDPATH)/src/ui
|
UIPATH=$(BUILDPATH)/src/ui
|
||||||
UINGPATH=$(BUILDPATH)/src/ui_ng
|
UINGPATH=$(BUILDPATH)/src/portal
|
||||||
GOBASEPATH=/go/src/github.com/goharbor
|
GOBASEPATH=/go/src/github.com/goharbor
|
||||||
CHECKENVCMD=checkenv.sh
|
CHECKENVCMD=checkenv.sh
|
||||||
|
|
||||||
@ -110,7 +110,7 @@ CHARTMUSEUMVERSION=v0.7.1
|
|||||||
#clarity parameters
|
#clarity parameters
|
||||||
CLARITYIMAGE=goharbor/harbor-clarity-ui-builder[:tag]
|
CLARITYIMAGE=goharbor/harbor-clarity-ui-builder[:tag]
|
||||||
CLARITYSEEDPATH=/harbor_src
|
CLARITYSEEDPATH=/harbor_src
|
||||||
CLARITYUTPATH=${CLARITYSEEDPATH}/ui_ng/lib
|
CLARITYUTPATH=${CLARITYSEEDPATH}/portal/lib
|
||||||
CLARITYBUILDSCRIPT=/entrypoint.sh
|
CLARITYBUILDSCRIPT=/entrypoint.sh
|
||||||
|
|
||||||
# docker parameters
|
# docker parameters
|
||||||
@ -183,6 +183,7 @@ DOCKERFILE_CLARITY=$(MAKEPATH)/dev/nodeclarity/Dockerfile
|
|||||||
|
|
||||||
# docker image name
|
# docker image name
|
||||||
DOCKERIMAGENAME_ADMINSERVER=goharbor/harbor-adminserver
|
DOCKERIMAGENAME_ADMINSERVER=goharbor/harbor-adminserver
|
||||||
|
DOCKERIMAGENAME_PORTAL=goharbor/harbor-portal
|
||||||
DOCKERIMAGENAME_UI=goharbor/harbor-ui
|
DOCKERIMAGENAME_UI=goharbor/harbor-ui
|
||||||
DOCKERIMAGENAME_JOBSERVICE=goharbor/harbor-jobservice
|
DOCKERIMAGENAME_JOBSERVICE=goharbor/harbor-jobservice
|
||||||
DOCKERIMAGENAME_LOG=goharbor/harbor-log
|
DOCKERIMAGENAME_LOG=goharbor/harbor-log
|
||||||
@ -218,6 +219,7 @@ REGISTRYPASSWORD=default
|
|||||||
|
|
||||||
# cmds
|
# cmds
|
||||||
DOCKERSAVE_PARA=$(DOCKERIMAGENAME_ADMINSERVER):$(VERSIONTAG) \
|
DOCKERSAVE_PARA=$(DOCKERIMAGENAME_ADMINSERVER):$(VERSIONTAG) \
|
||||||
|
$(DOCKERIMAGENAME_PORTAL):$(VERSIONTAG) \
|
||||||
$(DOCKERIMAGENAME_UI):$(VERSIONTAG) \
|
$(DOCKERIMAGENAME_UI):$(VERSIONTAG) \
|
||||||
$(DOCKERIMAGENAME_LOG):$(VERSIONTAG) \
|
$(DOCKERIMAGENAME_LOG):$(VERSIONTAG) \
|
||||||
$(DOCKERIMAGENAME_DB):$(VERSIONTAG) \
|
$(DOCKERIMAGENAME_DB):$(VERSIONTAG) \
|
||||||
@ -304,7 +306,7 @@ compile_registryctl:
|
|||||||
@$(DOCKERCMD) run --rm -v $(BUILDPATH):$(GOBUILDPATH) -w $(GOBUILDPATH_REGISTRYCTL) $(GOBUILDIMAGE) $(GOIMAGEBUILD) -o $(GOBUILDMAKEPATH_REGISTRYCTL)/$(REGISTRYCTLBINARYNAME)
|
@$(DOCKERCMD) run --rm -v $(BUILDPATH):$(GOBUILDPATH) -w $(GOBUILDPATH_REGISTRYCTL) $(GOBUILDIMAGE) $(GOIMAGEBUILD) -o $(GOBUILDMAKEPATH_REGISTRYCTL)/$(REGISTRYCTLBINARYNAME)
|
||||||
@echo "Done."
|
@echo "Done."
|
||||||
|
|
||||||
compile:check_environment compile_clarity compile_adminserver compile_ui compile_jobservice compile_registryctl
|
compile:check_environment compile_adminserver compile_ui compile_jobservice compile_registryctl
|
||||||
|
|
||||||
prepare:
|
prepare:
|
||||||
@echo "preparing..."
|
@echo "preparing..."
|
||||||
@ -444,6 +446,11 @@ pushimage:
|
|||||||
$(REGISTRYUSER) $(REGISTRYPASSWORD) $(REGISTRYSERVER)
|
$(REGISTRYUSER) $(REGISTRYPASSWORD) $(REGISTRYSERVER)
|
||||||
@$(DOCKERRMIMAGE) $(REGISTRYSERVER)$(DOCKERIMAGENAME_ADMINSERVER):$(VERSIONTAG)
|
@$(DOCKERRMIMAGE) $(REGISTRYSERVER)$(DOCKERIMAGENAME_ADMINSERVER):$(VERSIONTAG)
|
||||||
|
|
||||||
|
@$(DOCKERTAG) $(DOCKERIMAGENAME_PORTAL):$(VERSIONTAG) $(REGISTRYSERVER)$(DOCKERIMAGENAME_PORTAL):$(VERSIONTAG)
|
||||||
|
@$(PUSHSCRIPTPATH)/$(PUSHSCRIPTNAME) $(REGISTRYSERVER)$(DOCKERIMAGENAME_PORTAL):$(VERSIONTAG) \
|
||||||
|
$(REGISTRYUSER) $(REGISTRYPASSWORD) $(REGISTRYSERVER)
|
||||||
|
@$(DOCKERRMIMAGE) $(REGISTRYSERVER)$(DOCKERIMAGENAME_PORTAL):$(VERSIONTAG)
|
||||||
|
|
||||||
@$(DOCKERTAG) $(DOCKERIMAGENAME_UI):$(VERSIONTAG) $(REGISTRYSERVER)$(DOCKERIMAGENAME_UI):$(VERSIONTAG)
|
@$(DOCKERTAG) $(DOCKERIMAGENAME_UI):$(VERSIONTAG) $(REGISTRYSERVER)$(DOCKERIMAGENAME_UI):$(VERSIONTAG)
|
||||||
@$(PUSHSCRIPTPATH)/$(PUSHSCRIPTNAME) $(REGISTRYSERVER)$(DOCKERIMAGENAME_UI):$(VERSIONTAG) \
|
@$(PUSHSCRIPTPATH)/$(PUSHSCRIPTNAME) $(REGISTRYSERVER)$(DOCKERIMAGENAME_UI):$(VERSIONTAG) \
|
||||||
$(REGISTRYUSER) $(REGISTRYPASSWORD) $(REGISTRYSERVER)
|
$(REGISTRYUSER) $(REGISTRYPASSWORD) $(REGISTRYSERVER)
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
# Customize the look & feel of Harbor
|
# Customize the look & feel of Harbor
|
||||||
|
|
||||||
The primary look & feel of Harbor supports to be customized with several simple steps. All the relevant customization in configurations are saved in the `setting.json` file under `$HARBOR_DIR/src/ui_ng/src` folder with `json` format and will be loaded when Harbor is launched.
|
The primary look & feel of Harbor supports to be customized with several simple steps. All the relevant customization in configurations are saved in the `setting.json` file under `$HARBOR_DIR/src/portal/src` folder with `json` format and will be loaded when Harbor is launched.
|
||||||
|
|
||||||
## Configure
|
## Configure
|
||||||
Open the `setting.json` file, you'll see the default content as shown below:
|
Open the `setting.json` file, you'll see the default content as shown below:
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
### Steps to localize the UI in your language
|
### Steps to localize the UI in your language
|
||||||
|
|
||||||
1. In the folder `src/ui_ng/src/i18n/lang`, copy json file `en-us-lang.json` to a new file and rename it to `<language>-<locale>-lang.json` .
|
1. In the folder `src/portal/src/i18n/lang`, copy json file `en-us-lang.json` to a new file and rename it to `<language>-<locale>-lang.json` .
|
||||||
|
|
||||||
The file contains a JSON object including all the key-value pairs of UI strings:
|
The file contains a JSON object including all the key-value pairs of UI strings:
|
||||||
```
|
```
|
||||||
@ -21,7 +21,7 @@
|
|||||||
|
|
||||||
2. After creating your language file, you should add it to the language supporting list.
|
2. After creating your language file, you should add it to the language supporting list.
|
||||||
|
|
||||||
Locate the file `src/ui_ng/src/app/shared/shared.const.ts`.
|
Locate the file `src/portal/src/app/shared/shared.const.ts`.
|
||||||
Append `<language>-<locale>` to the language supporting list:
|
Append `<language>-<locale>` to the language supporting list:
|
||||||
```
|
```
|
||||||
export const supportedLangs = ['en-us', 'zh-cn', '<language>-<locale>'];
|
export const supportedLangs = ['en-us', 'zh-cn', '<language>-<locale>'];
|
||||||
@ -39,7 +39,7 @@
|
|||||||
|
|
||||||
3. Enable the new language in the view.
|
3. Enable the new language in the view.
|
||||||
|
|
||||||
Locate the file `src/ui_ng/src/app/base/navigator/navigator.component.html` and then find the following code piece:
|
Locate the file `src/portal/src/app/base/navigator/navigator.component.html` and then find the following code piece:
|
||||||
```
|
```
|
||||||
<div class="dropdown-menu">
|
<div class="dropdown-menu">
|
||||||
<a href="javascript:void(0)" clrDropdownItem (click)='switchLanguage("en-us")' [class.lang-selected]='matchLang("en-us")'>English</a>
|
<a href="javascript:void(0)" clrDropdownItem (click)='switchLanguage("en-us")' [class.lang-selected]='matchLang("en-us")'>English</a>
|
||||||
|
@ -16,6 +16,10 @@ http {
|
|||||||
server ui:8080;
|
server ui:8080;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
upstream portal {
|
||||||
|
server portal:80;
|
||||||
|
}
|
||||||
|
|
||||||
log_format timed_combined '$$remote_addr - '
|
log_format timed_combined '$$remote_addr - '
|
||||||
'"$$request" $$status $$body_bytes_sent '
|
'"$$request" $$status $$body_bytes_sent '
|
||||||
'"$$http_referer" "$$http_user_agent" '
|
'"$$http_referer" "$$http_user_agent" '
|
||||||
@ -30,6 +34,32 @@ http {
|
|||||||
client_max_body_size 0;
|
client_max_body_size 0;
|
||||||
|
|
||||||
location / {
|
location / {
|
||||||
|
proxy_pass http://portal/;
|
||||||
|
proxy_set_header Host $$host;
|
||||||
|
proxy_set_header X-Real-IP $$remote_addr;
|
||||||
|
proxy_set_header X-Forwarded-For $$proxy_add_x_forwarded_for;
|
||||||
|
|
||||||
|
# When setting up Harbor behind other proxy, such as an Nginx instance, remove the below line if the proxy already has similar settings.
|
||||||
|
proxy_set_header X-Forwarded-Proto $$scheme;
|
||||||
|
|
||||||
|
proxy_buffering off;
|
||||||
|
proxy_request_buffering off;
|
||||||
|
}
|
||||||
|
|
||||||
|
location /api/ {
|
||||||
|
proxy_pass http://ui/api/;
|
||||||
|
proxy_set_header Host $$host;
|
||||||
|
proxy_set_header X-Real-IP $$remote_addr;
|
||||||
|
proxy_set_header X-Forwarded-For $$proxy_add_x_forwarded_for;
|
||||||
|
|
||||||
|
# When setting up Harbor behind other proxy, such as an Nginx instance, remove the below line if the proxy already has similar settings.
|
||||||
|
proxy_set_header X-Forwarded-Proto $$scheme;
|
||||||
|
|
||||||
|
proxy_buffering off;
|
||||||
|
proxy_request_buffering off;
|
||||||
|
}
|
||||||
|
|
||||||
|
location ~ ^/(login|log_out|sendEmail|language|reset|userExists|reset_password|chartrepo) {
|
||||||
proxy_pass http://ui/;
|
proxy_pass http://ui/;
|
||||||
proxy_set_header Host $$host;
|
proxy_set_header Host $$host;
|
||||||
proxy_set_header X-Real-IP $$remote_addr;
|
proxy_set_header X-Real-IP $$remote_addr;
|
||||||
|
@ -17,6 +17,10 @@ http {
|
|||||||
server ui:8080;
|
server ui:8080;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
upstream portal {
|
||||||
|
server portal:80;
|
||||||
|
}
|
||||||
|
|
||||||
log_format timed_combined '$$remote_addr - '
|
log_format timed_combined '$$remote_addr - '
|
||||||
'"$$request" $$status $$body_bytes_sent '
|
'"$$request" $$status $$body_bytes_sent '
|
||||||
'"$$http_referer" "$$http_user_agent" '
|
'"$$http_referer" "$$http_user_agent" '
|
||||||
@ -47,7 +51,7 @@ http {
|
|||||||
chunked_transfer_encoding on;
|
chunked_transfer_encoding on;
|
||||||
|
|
||||||
location / {
|
location / {
|
||||||
proxy_pass http://ui/;
|
proxy_pass http://portal/;
|
||||||
proxy_set_header Host $$http_host;
|
proxy_set_header Host $$http_host;
|
||||||
proxy_set_header X-Real-IP $$remote_addr;
|
proxy_set_header X-Real-IP $$remote_addr;
|
||||||
proxy_set_header X-Forwarded-For $$proxy_add_x_forwarded_for;
|
proxy_set_header X-Forwarded-For $$proxy_add_x_forwarded_for;
|
||||||
@ -62,6 +66,32 @@ http {
|
|||||||
proxy_request_buffering off;
|
proxy_request_buffering off;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
location /api/ {
|
||||||
|
proxy_pass http://ui/api/;
|
||||||
|
proxy_set_header Host $$host;
|
||||||
|
proxy_set_header X-Real-IP $$remote_addr;
|
||||||
|
proxy_set_header X-Forwarded-For $$proxy_add_x_forwarded_for;
|
||||||
|
|
||||||
|
# When setting up Harbor behind other proxy, such as an Nginx instance, remove the below line if the proxy already has similar settings.
|
||||||
|
proxy_set_header X-Forwarded-Proto $$scheme;
|
||||||
|
|
||||||
|
proxy_buffering off;
|
||||||
|
proxy_request_buffering off;
|
||||||
|
}
|
||||||
|
|
||||||
|
location ~ ^/(login|log_out|sendEmail|language|reset|userExists|reset_password|chartrepo) {
|
||||||
|
proxy_pass http://ui;
|
||||||
|
proxy_set_header Host $$host;
|
||||||
|
proxy_set_header X-Real-IP $$remote_addr;
|
||||||
|
proxy_set_header X-Forwarded-For $$proxy_add_x_forwarded_for;
|
||||||
|
|
||||||
|
# When setting up Harbor behind other proxy, such as an Nginx instance, remove the below line if the proxy already has similar settings.
|
||||||
|
proxy_set_header X-Forwarded-Proto $$scheme;
|
||||||
|
|
||||||
|
proxy_buffering off;
|
||||||
|
proxy_request_buffering off;
|
||||||
|
}
|
||||||
|
|
||||||
location /v1/ {
|
location /v1/ {
|
||||||
return 404;
|
return 404;
|
||||||
}
|
}
|
||||||
|
@ -3,7 +3,7 @@ FROM node:10.7.0
|
|||||||
RUN mkdir -p /harbor_resources
|
RUN mkdir -p /harbor_resources
|
||||||
RUN mkdir -p /harbor_src
|
RUN mkdir -p /harbor_src
|
||||||
|
|
||||||
COPY src/ui_ng/package.json /harbor_resources
|
COPY src/portal/package.json /harbor_resources
|
||||||
COPY make/dev/nodeclarity/entrypoint.sh /
|
COPY make/dev/nodeclarity/entrypoint.sh /
|
||||||
|
|
||||||
# Install Chrome
|
# Install Chrome
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
cd /harbor_src/ui_ng
|
cd /harbor_src/portal
|
||||||
rm -rf dist/*
|
rm -rf dist/*
|
||||||
|
|
||||||
npm_proxy=
|
npm_proxy=
|
||||||
@ -27,12 +27,12 @@ cat ./package.json
|
|||||||
npm install
|
npm install
|
||||||
|
|
||||||
## Build harbor-ui and link it
|
## Build harbor-ui and link it
|
||||||
rm -rf /harbor_src/ui_ng/lib/dist
|
rm -rf /harbor_src/portal/lib/dist
|
||||||
npm run build:lib
|
npm run build:lib
|
||||||
chmod -R +xr /harbor_src/ui_ng/lib/dist
|
chmod -R +xr /harbor_src/portal/lib/dist
|
||||||
cd /harbor_src/ui_ng/lib/dist
|
cd /harbor_src/portal/lib/dist
|
||||||
npm link
|
npm link
|
||||||
cd /harbor_src/ui_ng
|
cd /harbor_src/portal
|
||||||
npm link harbor-ui
|
npm link harbor-ui
|
||||||
|
|
||||||
## Rollup
|
## Rollup
|
||||||
|
@ -110,6 +110,18 @@ services:
|
|||||||
options:
|
options:
|
||||||
syslog-address: "tcp://127.0.0.1:1514"
|
syslog-address: "tcp://127.0.0.1:1514"
|
||||||
tag: "ui"
|
tag: "ui"
|
||||||
|
portal:
|
||||||
|
image: goharbor/harbor-portal:__version__
|
||||||
|
container_name: harbor-portal
|
||||||
|
restart: always
|
||||||
|
networks:
|
||||||
|
- harbor
|
||||||
|
logging:
|
||||||
|
driver: "syslog"
|
||||||
|
options:
|
||||||
|
syslog-address: "tcp://127.0.0.1:1514"
|
||||||
|
tag: "portal"
|
||||||
|
|
||||||
jobservice:
|
jobservice:
|
||||||
image: goharbor/harbor-jobservice:__version__
|
image: goharbor/harbor-jobservice:__version__
|
||||||
container_name: harbor-jobservice
|
container_name: harbor-jobservice
|
||||||
@ -146,7 +158,7 @@ services:
|
|||||||
syslog-address: "tcp://127.0.0.1:1514"
|
syslog-address: "tcp://127.0.0.1:1514"
|
||||||
tag: "redis"
|
tag: "redis"
|
||||||
proxy:
|
proxy:
|
||||||
image: goharbor/nginx-photon:__nginx_version__
|
image: goharbor/nginx-photon:__version__
|
||||||
container_name: nginx
|
container_name: nginx
|
||||||
restart: always
|
restart: always
|
||||||
volumes:
|
volumes:
|
||||||
@ -161,6 +173,7 @@ services:
|
|||||||
- postgresql
|
- postgresql
|
||||||
- registry
|
- registry
|
||||||
- ui
|
- ui
|
||||||
|
- portal
|
||||||
- log
|
- log
|
||||||
logging:
|
logging:
|
||||||
driver: "syslog"
|
driver: "syslog"
|
||||||
|
@ -39,6 +39,10 @@ DOCKERFILEPATH_ADMINSERVER=$(DOCKERFILEPATH)/adminserver
|
|||||||
DOCKERFILENAME_ADMINSERVER=Dockerfile
|
DOCKERFILENAME_ADMINSERVER=Dockerfile
|
||||||
DOCKERIMAGENAME_ADMINSERVER=goharbor/harbor-adminserver
|
DOCKERIMAGENAME_ADMINSERVER=goharbor/harbor-adminserver
|
||||||
|
|
||||||
|
DOCKERFILEPATH_PORTAL=$(DOCKERFILEPATH)/portal
|
||||||
|
DOCKERFILENAME_PORTAL=Dockerfile
|
||||||
|
DOCKERIMAGENAME_PORTAL=goharbor/harbor-portal
|
||||||
|
|
||||||
DOCKERFILEPATH_UI=$(DOCKERFILEPATH)/ui
|
DOCKERFILEPATH_UI=$(DOCKERFILEPATH)/ui
|
||||||
DOCKERFILENAME_UI=Dockerfile
|
DOCKERFILENAME_UI=Dockerfile
|
||||||
DOCKERIMAGENAME_UI=goharbor/harbor-ui
|
DOCKERIMAGENAME_UI=goharbor/harbor-ui
|
||||||
@ -106,6 +110,11 @@ _build_adminserver:
|
|||||||
@$(DOCKERBUILD) -f $(DOCKERFILEPATH_ADMINSERVER)/$(DOCKERFILENAME_ADMINSERVER) -t $(DOCKERIMAGENAME_ADMINSERVER):$(VERSIONTAG) .
|
@$(DOCKERBUILD) -f $(DOCKERFILEPATH_ADMINSERVER)/$(DOCKERFILENAME_ADMINSERVER) -t $(DOCKERIMAGENAME_ADMINSERVER):$(VERSIONTAG) .
|
||||||
@echo "Done."
|
@echo "Done."
|
||||||
|
|
||||||
|
_build_portal:
|
||||||
|
@echo "building portal container for photon..."
|
||||||
|
$(DOCKERBUILD) -f $(DOCKERFILEPATH_PORTAL)/$(DOCKERFILENAME_PORTAL) -t $(DOCKERIMAGENAME_PORTAL):$(VERSIONTAG) .
|
||||||
|
@echo "Done."
|
||||||
|
|
||||||
_build_ui:
|
_build_ui:
|
||||||
@echo "building ui container for photon..."
|
@echo "building ui container for photon..."
|
||||||
@$(DOCKERBUILD) -f $(DOCKERFILEPATH_UI)/$(DOCKERFILENAME_UI) -t $(DOCKERIMAGENAME_UI):$(VERSIONTAG) .
|
@$(DOCKERBUILD) -f $(DOCKERFILEPATH_UI)/$(DOCKERFILENAME_UI) -t $(DOCKERIMAGENAME_UI):$(VERSIONTAG) .
|
||||||
@ -203,11 +212,12 @@ define _get_binary
|
|||||||
$(WGET) --timeout 30 --no-check-certificate $1 -O $2
|
$(WGET) --timeout 30 --no-check-certificate $1 -O $2
|
||||||
endef
|
endef
|
||||||
|
|
||||||
build: _build_db _build_adminserver _build_ui _build_jobservice _build_log _build_nginx _build_registry _build_registryctl _build_notary _build_clair _build_redis _build_chart_server
|
build: _build_db _build_adminiserver _build_portal _build_ui _build_jobservice _build_log _build_nginx _build_registry _build_registryctl _build_notary _build_clair _build_redis _build_migrator _build_chart_server
|
||||||
|
|
||||||
cleanimage:
|
cleanimage:
|
||||||
@echo "cleaning image for photon..."
|
@echo "cleaning image for photon..."
|
||||||
- $(DOCKERRMIMAGE) -f $(DOCKERIMAGENAME_ADMINSERVER):$(VERSIONTAG)
|
- $(DOCKERRMIMAGE) -f $(DOCKERIMAGENAME_ADMINSERVER):$(VERSIONTAG)
|
||||||
|
- $(DOCKERRMIMAGE) -f $(DOCKERIMAGENAME_PORTAL):$(VERSIONTAG)
|
||||||
- $(DOCKERRMIMAGE) -f $(DOCKERIMAGENAME_UI):$(VERSIONTAG)
|
- $(DOCKERRMIMAGE) -f $(DOCKERIMAGENAME_UI):$(VERSIONTAG)
|
||||||
- $(DOCKERRMIMAGE) -f $(DOCKERIMAGENAME_JOBSERVICE):$(VERSIONTAG)
|
- $(DOCKERRMIMAGE) -f $(DOCKERIMAGENAME_JOBSERVICE):$(VERSIONTAG)
|
||||||
- $(DOCKERRMIMAGE) -f $(DOCKERIMAGENAME_LOG):$(VERSIONTAG)
|
- $(DOCKERRMIMAGE) -f $(DOCKERIMAGENAME_LOG):$(VERSIONTAG)
|
||||||
|
35
make/photon/portal/Dockerfile
Normal file
35
make/photon/portal/Dockerfile
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
FROM node:10.7.0
|
||||||
|
|
||||||
|
RUN mkdir -p /portal_src
|
||||||
|
RUN mkdir -p /build_dir
|
||||||
|
|
||||||
|
COPY make/photon/portal/entrypoint.sh /
|
||||||
|
COPY src/portal /portal_src
|
||||||
|
|
||||||
|
WORKDIR /portal_src
|
||||||
|
|
||||||
|
RUN npm install && \
|
||||||
|
chmod u+x /entrypoint.sh
|
||||||
|
RUN /entrypoint.sh
|
||||||
|
VOLUME ["/portal_src"]
|
||||||
|
|
||||||
|
|
||||||
|
FROM photon:1.0
|
||||||
|
|
||||||
|
RUN tdnf distro-sync -y \
|
||||||
|
&& tdnf install -y nginx >> /dev/null \
|
||||||
|
&& ln -sf /dev/stdout /var/log/nginx/access.log \
|
||||||
|
&& ln -sf /dev/stderr /var/log/nginx/error.log \
|
||||||
|
&& tdnf clean all
|
||||||
|
|
||||||
|
EXPOSE 80
|
||||||
|
VOLUME /var/cache/nginx /var/log/nginx /run
|
||||||
|
|
||||||
|
COPY --from=0 /build_dir/dist /usr/share/nginx/html
|
||||||
|
COPY make/photon/portal/nginx.conf /etc/nginx/nginx.conf
|
||||||
|
|
||||||
|
STOPSIGNAL SIGQUIT
|
||||||
|
|
||||||
|
HEALTHCHECK CMD curl --fail -s http://127.0.0.1 || exit 1
|
||||||
|
|
||||||
|
CMD ["nginx", "-g", "daemon off;"]
|
24
make/photon/portal/entrypoint.sh
Normal file
24
make/photon/portal/entrypoint.sh
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
|
|
||||||
|
cd /build_dir
|
||||||
|
cp -r /portal_src/* .
|
||||||
|
ls -la
|
||||||
|
|
||||||
|
cat ./package.json
|
||||||
|
npm install
|
||||||
|
|
||||||
|
## Build harbor-ui and link it
|
||||||
|
rm -rf /build_dir/lib/dist
|
||||||
|
npm run build:lib
|
||||||
|
chmod -R +xr /build_dir/lib/dist
|
||||||
|
cd /build_dir/lib/dist
|
||||||
|
npm link
|
||||||
|
cd /build_dir
|
||||||
|
npm link harbor-ui
|
||||||
|
|
||||||
|
## Build production
|
||||||
|
npm run build:prod
|
||||||
|
|
||||||
|
## Unlink
|
||||||
|
npm unlink harbor-ui
|
26
make/photon/portal/nginx.conf
Normal file
26
make/photon/portal/nginx.conf
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
|
||||||
|
worker_processes 1;
|
||||||
|
|
||||||
|
events {
|
||||||
|
worker_connections 1024;
|
||||||
|
}
|
||||||
|
|
||||||
|
http {
|
||||||
|
server {
|
||||||
|
listen 80;
|
||||||
|
server_name localhost;
|
||||||
|
|
||||||
|
root /usr/share/nginx/html;
|
||||||
|
index index.html index.htm;
|
||||||
|
include /etc/nginx/mime.types;
|
||||||
|
|
||||||
|
gzip on;
|
||||||
|
gzip_min_length 1000;
|
||||||
|
gzip_proxied expired no-cache no-store private auth;
|
||||||
|
gzip_types text/plain text/css application/json application/javascript application/x-javascript text/xml application/xml application/xml+rss text/javascript;
|
||||||
|
|
||||||
|
location / {
|
||||||
|
try_files $uri $uri/ /index.html;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Before Width: | Height: | Size: 7.3 KiB After Width: | Height: | Size: 7.3 KiB |
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user