Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
N
node-devlop-rest-api
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
zhouzihao
node-devlop-rest-api
Commits
cada6874
Commit
cada6874
authored
Apr 03, 2020
by
zhouzihao
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
dev-添加项目源数据控制缓存文件的新特性
parent
e27ddcba
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
73 additions
and
0 deletions
+73
-0
README.md
README.md
+58
-0
shell/java.js
shell/java.js
+15
-0
No files found.
README.md
View file @
cada6874
...
@@ -91,6 +91,64 @@ const serve_url = "http://127.0.0.1:3000" //后端想的服务地址
...
@@ -91,6 +91,64 @@ const serve_url = "http://127.0.0.1:3000" //后端想的服务地址
使用
`exec-file`
来修改这个规则,可以使用通配符,而且在这个列表中你可以直接写字符串,他的作业和写一个Object只配置name字段是等效的。
使用
`exec-file`
来修改这个规则,可以使用通配符,而且在这个列表中你可以直接写字符串,他的作业和写一个Object只配置name字段是等效的。
> 注意 exec-file 参数应该只能识别到一个文件。
> 注意 exec-file 参数应该只能识别到一个文件。
### [新特性] 配置额外参数
在项目源数据中可以配置一些额外的参数。保证项目在构建镜像时有额外的动作。其中包括缓存文件夹和添加额外的Dockerfile指令。
-
cache
-
docker-file-str
#### cache
缓存文件配置在元数据的的根节点。和module_list同级。可以直接写一个字符串。也可以配置一个字符串的列表。一旦配置在项目的各个构建环节中才可以使用。
```
json
{
"module_list"
:[
{
"name"
:
"app-a"
,
"exec-file"
:
"app-a-*-bb"
},
"app-b"
],
#
"cache"
:
"dir1/dir2/"
"cache"
:[
"dir1"
,
"dir2"
,
"dir3"
,
]
}
```
> 注意:不要去配置和模块名下相同的target目录。这个目录在java构建中被默认缓存了。
### docker-file-str
在构建中存在修改dockerfile的情况。在dockerfile中要添加额外的运行参数。或者安装依赖等。这时就要用到
`docker-file-str`
的配置。
它要配置在模块中,必选在模块列表中的对象中。比如我要在项目中安装某个命令。
```
json
{
"module_list"
:[
{
"name"
:
"app-a"
,
"docker-file-str"
:
"RUN apt install command"
},
"app-b"
]
}
```
也可以复制某个文件到容器中。可以和cache配合使用达到复制文件的效果。(换句话说如果是没有缓存的文件无法复制)
```
json
{
"module_list"
:[
{
"name"
:
"app-a"
,
"docker-file-str"
:
"RUN Dir1/file1 file2"
},
"app-b"
],
"cache"
:
"Dir1/file1"
}
```
注意不要运行危险的命令!如果要输入多条命令仅仅用“
\n
”换行符分割即可。
## 配置中心
## 配置中心
...
...
shell/java.js
View file @
cada6874
...
@@ -119,6 +119,21 @@ const buildJava = async (projectObj, envObj, typeObj, configList, branch, versio
...
@@ -119,6 +119,21 @@ const buildJava = async (projectObj, envObj, typeObj, configList, branch, versio
var
docker_push_str
=
""
;
var
docker_push_str
=
""
;
var
deploy_str
=
""
;
var
deploy_str
=
""
;
//添加源数据参数 缓存地址
if
(
_
.
has
(
projectMetaData
,
'
cache
'
))
{
var
project_cache
=
_
.
get
(
projectMetaData
,
'
cache
'
);
if
(
_
.
isObject
(
project_cache
))
{
throw
new
Error
(
"
unknow config
"
);
}
let
cache_list
=
[];
if
(
_
.
isString
(
project_cache
))
{
cache_list
.
push
(
project_cache
);
}
for
(
let
v
of
cache_list
)
{
cache
+=
"
-
"
+
v
;
}
}
// todo 处理docker登录问题
// todo 处理docker登录问题
var
username
=
_
.
get
(
envObj
,
'
registry_username
'
);
var
username
=
_
.
get
(
envObj
,
'
registry_username
'
);
var
password
=
_
.
get
(
envObj
,
'
registry_password
'
);
var
password
=
_
.
get
(
envObj
,
'
registry_password
'
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment