The buildspec.yaml is just to check what git source has compile errors.
version: 0.2
env:
variables:
RESULT: 0
phases:
build:
commands:
# Make Directory for compile check.
- mkdir -p /user/local/work
# Copy files what get from CodeCommit.
- cd ..
- cp -r * /user/local/work
- chmod -R 777 /user/local/work
# Start container's IRIS.
- su - irisowner -c "iris start IRIS"
# Import check.
- su - irisowner -c "iris terminal IRIS \"##CLASS(%SYSTEM.OBJ).ImportDir(\\\"/user/local/work\\\",\\\"*.cls;*.mac;*.int;*.inc;*.dfi\\\",\\\"k\\\",,1)\" " | tee result.txt
- sh ./chk_err.sh
# Compile check.
- su - irisowner -c "iris terminal IRIS \"##CLASS(%SYSTEM.OBJ).CompileAll(\\\"ck\\\")\" " | tee result.txt
- sh ./chk_err.sh
- su - irisowner -c "iris terminal IRIS \"##CLASS(%Library.MessageDictionary).ImportDir(\\\"/user/local/work/01/res\\\")\" " | tee result.txt
- sh ./chk_err_md.sh
# These sh is check result.txt that has errors.
-
post_build:
commands:
- cd $CODEBUILD_SRC_DIR_main_out
- mv make_flg_file.bat ../
- mv appspec.yml ../
- cd ..
- mv 00 base
- mv 01 main
- ls -al
And appspec.yaml is to store sources to any directory.
version: 0.0
os: windows
files:
- source: /
destination: E:\deploy\base
After that, Importing to iris is done by creating an interoperability job and using the file detection mechanism.
Import program.
ClassMethod ImportDir(path As %String, flag As %String = "k") As %Status
{
Do ..Log("ImportDir Start:"_path_" / "_flag)
Set errorLog = ""
Set imported = ""
Set selectedlist = ""
Set count = 0
If (##class(%File).DirectoryExists(path)) {
Set status = $SYSTEM.OBJ.ImportDir(path, "*.cls;*.mac;*.int;*.inc;*.dfi", flag, .errorLog , 1, .imported, , .selectedlist)
Set prg = ""
For {
Set prg = $ORDER(imported(prg))
If (prg = "") {
Quit
}
Set count = count + 1
}
} Else {
Set status = $$$ERROR($$$GeneralError, "パスが存在しません。"_path)
}
Do ..Log("ImportDir End:"_count)
Return status
}
> Did you execute any specific commands for Interoperability to monitor the files in the pipeline?
No. I don't use IRIS Interoperability on the pipeline architecture.
The pipeline was created on AWS CodePipeline, and the pipeline runs automatically when pushed to git repository.
Certifications & Credly badges:
Yuji has no Certifications & Credly badges yet.
Global Masters badges:
Followers:
Yuji has no followers yet.
Following:
Yuji has not followed anybody yet.
Hi, Dmitrii Baranov
Is this article helpful?
https://community.intersystems.com/node/509566