Up And
installation and usage
command line basics
installation
list tasks
config yml
command args
use upcli docker image
public and protected tasks
working directory
quick start
First task - hello world
Multiple Steps
Yaml literal
Use array
manage dependencies
call func (power up)
use env var
syntax variation
how to run the examples
a little taste of UPcmd
vars
Use variables
vars in func
variables in callee
use vars
use golang template
var rendering
local vars
local vs reg global
var scope and accessibility
var scope in callee
task scope
taskScope vars in callee
local vars from file
use pure local vars
taskScope vars in block
probe exisitence of path
use vars in desc
call func
assemble worlflow
call func as interface
overriden in callee
multiple layers overriding
return values
sequence matters in return 1
sequence matters in return 2
chained calls and return values
scope
vars intro
externalize settings
leave merge
runtime merge
dvars
dvars intro
complext object
string literal
convert dvar
externalize settings
dvars in scopes
complex case
leave level merge
instance level merge
local scope merge
dvars in call
dynamics on dynamics
load file using dvar
dvar to global
datakey as source
void for action
load from refdir
datapath
datatemplate
golang template
builtin funcs
sprig funcs
gtf funcs
advanced usage
use loop
range and outer value
UPcmd internal template funcs
all template funcs
splitLines func
type compare
yml obj json conversion
shell func
register result
check result
ignore error
handle std err
silent the shell execution
design patterns
workflow skeleton
basic cli skeleton
data structure
modular tasks
externalise task def
call and vars
design patterns
private var scope
environment vars
basics
client validation
environment vars
declare env var
env vars in scopes
environment vars
virtualEnv cmd
security
builtin en/decryption
use env var to encrypt and decrypt
secure env var
use valut to store secrets
encrypteAesWithVault template func to retrieve and encrypt
mask senstive info in shell execution
retrieve secret from valut
flow controll
if condition
if condition advanced
use pause
Exit result per step
dynamic routing
dynamic routing extra
loopitem in callee's dvar
use break in call
non-exist value if
indirect reference
else in hard way
else branch
else with a flow
None value
final cleanup when shell exceution fails
final cleanup without resuce
guaranteed final step to ensure clean up/rescue
finally steps block
conditionally error handling
finally/resuce support in task level
final step using block
finally in subtask level
finally in subtask called from block
finally subtask no ignoreError
finally/resuce support in subtask level
complex task finally in sub task
finally/resuce support in subtask level
task finally always emit
finally/resuce support in task level
loop
loopitem in dvar
multi-layers loop 1
multi-layers loop 2
loop with condition
condition with until
break recursive loop
loop usage guide
loop with var name
loop with range iterator
loop and retry example
use dynamic variable in until
config organization
ref task
use case 1
use case 2
use tasksref
load from refdir
config file loading
cmd func
print message
reg and deReg
read/write file
sleep
toObj
delete in yml file
modify yml content
break cmd
color print
template using data file
tmp file
tmp file with dynamic file handler
block func
use block
embeded block
block in else
call task from block
call block from task
testcase1 for block
test case 1
test case 2
test case 3
complicated test case 4
complicated test case 5
templating
templating using dvar
use template cmd
datakey and datapath
test and debug
verbose flag
pause and inspect
ues trace
assert and inspect
failFast
deactivated step
deactivated sub step in cmd
fail
error handling
user interaction
profile with env vars
externise exec profile
prompt in taskScope
user prompt
chained pipein from stdin
profile with env vars logs
exec profile example
exec profile with entry task
exec profile with pure env flag
exec profile with alternative entry
object oriented
reg/deReg/void
parse yml to object
query
map structure result
reg/set an object
access and register sub object 1
access and register sub object 2
syntax
multiline styles
advanced use cases
web scraping example
upcmd doco auto generation
modules
module commands
module config
module repo auth
HelloWorld example
simple vars
return value
jailed exec context
Complex vars
Complex call layers
use alias
moule lock
module validation
multi module calls
module multi vesioning
max module restriction
manage indirect dependencies
<no value>
idea and faq
mutli-threads/concurrency
watch and monitoring
more funcs support
http/rest api support
cli tools work with
log references
c0001_v
f0001_v
c0001_vv
f0001_vv
c0001_vvv
f0001_vvv
c0001_vvvv
f0001_vvvv
c0001_vvvvv
f0001_vvvvv
c0002_v
f0002_v
c0002_vv
f0002_vv
c0002_vvv
f0002_vvv
c0002_vvvv
f0002_vvvv
c0002_vvvvv
f0002_vvvvv
c0003_v
c0003_vv
c0003_vvv
c0003_vvvv
c0003_vvvvv
c0004_v
c0004_vv
c0004_vvv
c0004_vvvv
c0004_vvvvv
c0005_v
c0005_vv
c0005_vvv
c0005_vvvv
c0005_vvvvv
c0006_v
c0006_vv
c0006_vvv
c0006_vvvv
c0006_vvvvv
c0007_v
c0007_vv
c0007_vvv
c0007_vvvv
c0007_vvvvv
c0008_v
c0008_vv
c0008_vvv
c0008_vvvv
c0008_vvvvv
c0009_v
f0009_v
c0009_vv
f0009_vv
c0009_vvv
f0009_vvv
c0009_vvvv
f0009_vvvv
c0009_vvvvv
f0009_vvvvv
c0010_v
c0010_vv
c0010_vvv
c0010_vvvv
c0010_vvvvv
c0011_v
c0011_vv
c0011_vvv
c0011_vvvv
c0011_vvvvv
c0012_v
c0012_vv
c0012_vvv
c0012_vvvv
c0012_vvvvv
c0013_v
c0013_vv
c0013_vvv
c0013_vvvv
c0013_vvvvv
c0014_v
c0014_vv
c0014_vvv
c0014_vvvv
c0014_vvvvv
f0016_v
f0016_vv
f0016_vvv
f0016_vvvv
f0016_vvvvv
c0017_v
c0017_vv
c0017_vvv
c0017_vvvv
c0017_vvvvv
f0018_v
f0018_vv
f0018_vvv
f0018_vvvv
f0018_vvvvv
c0019_v
c0019_vv
c0019_vvv
c0019_vvvv
c0019_vvvvv
c0020_v
c0020_vv
c0020_vvv
c0020_vvvv
c0020_vvvvv
c0021_v
c0021_vv
c0021_vvv
c0021_vvvv
c0021_vvvvv
c0022_v
c0022_vv
c0022_vvv
c0022_vvvv
c0022_vvvvv
c0023_v
c0023_vv
c0023_vvv
c0023_vvvv
c0023_vvvvv
c0024_v
c0024_vv
c0024_vvv
c0024_vvvv
c0024_vvvvv
c0025_v
c0025_vv
c0025_vvv
c0025_vvvv
c0025_vvvvv
c0026_v
c0026_vv
c0026_vvv
c0026_vvvv
c0026_vvvvv
c0027_v
c0027_vv
c0027_vvv
c0027_vvvv
c0027_vvvvv
c0028_v
c0028_vv
c0028_vvv
c0028_vvvv
c0028_vvvvv
c0029_v
c0029_vv
c0029_vvv
c0029_vvvv
c0029_vvvvv
c0030_v
c0030_vv
c0030_vvv
c0030_vvvv
c0030_vvvvv
c0031_v
f0031_v
c0031_vv
f0031_vv
c0031_vvv
f0031_vvv
c0031_vvvv
f0031_vvvv
c0031_vvvvv
f0031_vvvvv
c0032_v
c0032_vv
c0032_vvv
c0032_vvvv
c0032_vvvvv
c0033_v
c0033_vv
c0033_vvv
c0033_vvvv
c0033_vvvvv
c0034_v
c0034_vv
c0034_vvv
c0034_vvvv
c0034_vvvvv
c0035_v
c0035_vv
c0035_vvv
c0035_vvvv
c0035_vvvvv
c0036_v
c0036_vv
c0036_vvv
c0036_vvvv
c0036_vvvvv
c0037_v
f0037_v
c0037_vv
f0037_vv
c0037_vvv
f0037_vvv
c0037_vvvv
f0037_vvvv
c0037_vvvvv
f0037_vvvvv
c0038_v
c0038_vv
c0038_vvv
c0038_vvvv
c0038_vvvvv
c0039_v
c0039_vv
c0039_vvv
c0039_vvvv
c0039_vvvvv
c0040_v
c0040_vv
c0040_vvv
c0040_vvvv
c0040_vvvvv
c0041_v
c0041_vv
c0041_vvv
c0041_vvvv
c0041_vvvvv
c0042_v
c0042_vv
c0042_vvv
c0042_vvvv
c0042_vvvvv
c0043_v
c0043_vv
c0043_vvv
c0043_vvvv
c0043_vvvvv
c0044_v
c0044_vv
c0044_vvv
c0044_vvvv
c0044_vvvvv
f0045_v
f0045_vv
f0045_vvv
f0045_vvvv
f0045_vvvvv
c0046_v
c0046_vv
c0046_vvv
c0046_vvvv
c0046_vvvvv
c0047_v
c0047_vv
c0047_vvv
c0047_vvvv
c0047_vvvvv
c0048_v
c0048_vv
c0048_vvv
c0048_vvvv
c0048_vvvvv
c0049_v
c0049_vv
c0049_vvv
c0049_vvvv
c0049_vvvvv
c0050_v
c0050_vv
c0050_vvv
c0050_vvvv
c0050_vvvvv
c0051_v
c0051_vv
c0051_vvv
c0051_vvvv
c0051_vvvvv
c0052_v
c0052_vv
c0052_vvv
c0052_vvvv
c0052_vvvvv
f0053_v
f0053_vv
f0053_vvv
f0053_vvvv
f0053_vvvvv
c0054_v
c0054_vv
c0054_vvv
c0054_vvvv
c0054_vvvvv
c0055_v
c0055_vv
c0055_vvv
c0055_vvvv
c0055_vvvvv
c0056_v
c0056_vv
c0056_vvv
c0056_vvvv
c0056_vvvvv
c0059_v
c0059_vv
c0059_vvv
c0059_vvvv
c0059_vvvvv
c0060_v
f0060_v
c0060_vv
f0060_vv
c0060_vvv
f0060_vvv
c0060_vvvv
f0060_vvvv
c0060_vvvvv
f0060_vvvvv
c0061_v
f0061_v
c0061_vv
f0061_vv
c0061_vvv
f0061_vvv
c0061_vvvv
f0061_vvvv
c0061_vvvvv
f0061_vvvvv
c0062_v
c0062_vv
c0062_vvv
c0062_vvvv
c0062_vvvvv
c0063_v
c0063_vv
c0063_vvv
c0063_vvvv
c0063_vvvvv
c0064_v
c0064_vv
c0064_vvv
c0064_vvvv
c0064_vvvvv
c0065_v
c0065_vv
c0065_vvv
c0065_vvvv
c0065_vvvvv
c0066_v
c0066_vv
c0066_vvv
c0066_vvvv
c0066_vvvvv
f0067_v
f0067_vv
f0067_vvv
f0067_vvvv
f0067_vvvvv
c0068_v
c0068_vv
c0068_vvv
c0068_vvvv
c0068_vvvvv
c0069_v
c0069_vv
c0069_vvv
c0069_vvvv
c0069_vvvvv
c0070_v
c0070_vv
c0070_vvv
c0070_vvvv
c0070_vvvvv
c0071_v
c0071_vv
c0071_vvv
c0071_vvvv
c0071_vvvvv
c0072_v
c0072_vv
c0072_vvv
c0072_vvvv
c0072_vvvvv
c0073_v
c0073_vv
c0073_vvv
c0073_vvvv
c0073_vvvvv
c0074_v
c0074_vv
c0074_vvv
c0074_vvvv
c0074_vvvvv
c0075_v
c0075_vv
c0075_vvv
c0075_vvvv
c0075_vvvvv
c0076_v
c0076_vv
c0076_vvv
c0076_vvvv
c0076_vvvvv
f0077_v
f0077_vv
f0077_vvv
f0077_vvvv
f0077_vvvvv
c0078_v
c0078_vv
c0078_vvv
c0078_vvvv
c0078_vvvvv
c0079_v
c0079_vv
c0079_vvv
c0079_vvvv
c0079_vvvvv
c0080_v
c0080_vv
c0080_vvv
c0080_vvvv
c0080_vvvvv
c0081_v
c0081_vv
c0081_vvv
c0081_vvvv
c0081_vvvvv
c0082_v
c0082_vv
c0082_vvv
c0082_vvvv
c0082_vvvvv
c0083_v
c0083_vv
c0083_vvv
c0083_vvvv
c0083_vvvvv
c0084_v
c0084_vv
c0084_vvv
c0084_vvvv
c0084_vvvvv
c0085_v
c0085_vv
c0085_vvv
c0085_vvvv
c0085_vvvvv
c0086_v
c0086_vv
c0086_vvv
c0086_vvvv
c0086_vvvvv
c0087_v
c0087_vv
c0087_vvv
c0087_vvvv
c0087_vvvvv
c0088_v
f0088_v
c0088_vv
f0088_vv
c0088_vvv
f0088_vvv
c0088_vvvv
f0088_vvvv
c0088_vvvvv
f0088_vvvvv
c0089_v
c0089_vv
c0089_vvv
c0089_vvvv
c0089_vvvvv
c0090_v
c0090_vv
c0090_vvv
c0090_vvvv
c0090_vvvvv
c0091_v
c0091_vv
c0091_vvv
c0091_vvvv
c0091_vvvvv
c0092_v
c0092_vv
c0092_vvv
c0092_vvvv
c0092_vvvvv
c0093_v
c0093_vv
c0093_vvv
c0093_vvvv
c0093_vvvvv
c0094_v
c0094_vv
c0094_vvv
c0094_vvvv
c0094_vvvvv
c0095_v
c0095_vv
c0095_vvv
c0095_vvvv
c0095_vvvvv
c0096_v
c0096_vv
c0096_vvv
c0096_vvvv
c0096_vvvvv
f0097_v
f0097_vv
f0097_vvv
f0097_vvvv
f0097_vvvvv
c0098_v
c0098_vv
c0098_vvv
c0098_vvvv
c0098_vvvvv
c0099_v
c0099_vv
c0099_vvv
c0099_vvvv
c0099_vvvvv
c0100_v
c0100_vv
c0100_vvv
c0100_vvvv
c0100_vvvvv
c0101_v
c0101_vv
c0101_vvv
c0101_vvvv
c0101_vvvvv
c0102_v
c0102_vv
c0102_vvv
c0102_vvvv
c0102_vvvvv
c0103_v
c0103_vv
c0103_vvv
c0103_vvvv
c0103_vvvvv
c0104_v
c0104_vv
c0104_vvv
c0104_vvvv
c0104_vvvvv
c0105_v
c0105_vv
c0105_vvv
c0105_vvvv
c0105_vvvvv
c0106_v
c0106_vv
c0106_vvv
c0106_vvvv
c0106_vvvvv
c0107_v
c0107_vv
c0107_vvv
c0107_vvvv
c0107_vvvvv
c0108_v
c0108_vv
c0108_vvv
c0108_vvvv
c0108_vvvvv
c0109_v
c0109_vv
c0109_vvv
c0109_vvvv
c0109_vvvvv
c0110_v
c0110_vv
c0110_vvv
c0110_vvvv
c0110_vvvvv
c0111_v
c0111_vv
c0111_vvv
c0111_vvvv
c0111_vvvvv
c0112_v
c0112_vv
c0112_vvv
c0112_vvvv
c0112_vvvvv
c0113_v
c0113_vv
c0113_vvv
c0113_vvvv
c0113_vvvvv
c0114_v
c0114_vv
c0114_vvv
c0114_vvvv
c0114_vvvvv
c0115_v
c0115_vv
c0115_vvv
c0115_vvvv
c0115_vvvvv
c0116_v
f0116_v
c0116_vv
f0116_vv
c0116_vvv
f0116_vvv
c0116_vvvv
f0116_vvvv
c0116_vvvvv
f0116_vvvvv
c0117_v
f0117_v
c0117_vv
f0117_vv
c0117_vvv
f0117_vvv
c0117_vvvv
f0117_vvvv
c0117_vvvvv
f0117_vvvvv
c0118_v
c0118_vv
c0118_vvv
c0118_vvvv
c0118_vvvvv
c0119_v
c0119_vv
c0119_vvv
c0119_vvvv
c0119_vvvvv
c0120_v
c0120_vv
c0120_vvv
c0120_vvvv
c0120_vvvvv
c0121_v
c0121_vv
c0121_vvv
c0121_vvvv
c0121_vvvvv
c0122_v
c0122_vv
c0122_vvv
c0122_vvvv
c0122_vvvvv
c0123_v
c0123_vv
c0123_vvv
c0123_vvvv
c0123_vvvvv
c0124_v
c0124_vv
c0124_vvv
c0124_vvvv
c0124_vvvvv
f0125_v
f0125_vv
f0125_vvv
f0125_vvvv
f0125_vvvvv
c0126_v
c0126_vv
c0126_vvv
c0126_vvvv
c0126_vvvvv
c0127_v
c0127_vv
c0127_vvv
c0127_vvvv
c0127_vvvvv
c0128_v
c0128_vv
c0128_vvv
c0128_vvvv
c0128_vvvvv
c0129_v
c0129_vv
c0129_vvv
c0129_vvvv
c0129_vvvvv
c0130_v
c0130_vv
c0130_vvv
c0130_vvvv
c0130_vvvvv
c0131_v
c0131_vv
c0131_vvv
c0131_vvvv
c0131_vvvvv
c0132_v
c0132_vv
c0132_vvv
c0132_vvvv
c0132_vvvvv
c0133_v
c0133_vv
c0133_vvv
c0133_vvvv
c0133_vvvvv
c0134_v
c0134_vv
c0134_vvv
c0134_vvvv
c0134_vvvvv
c0135_v
c0135_vv
c0135_vvv
c0135_vvvv
c0135_vvvvv
c0136_v
c0136_vv
c0136_vvv
c0136_vvvv
c0136_vvvvv
c0137_v
c0137_vv
c0137_vvv
c0137_vvvv
c0137_vvvvv
c0138_v
c0138_vv
c0138_vvv
c0138_vvvv
c0138_vvvvv
c0139_v
c0139_vv
c0139_vvv
c0139_vvvv
c0139_vvvvv
c0140_v
c0140_vv
c0140_vvv
c0140_vvvv
c0140_vvvvv
c0141_v
c0141_vv
c0141_vvv
c0141_vvvv
c0141_vvvvv
c0142_v
c0142_vv
c0142_vvv
c0142_vvvv
c0142_vvvvv
c0143_v
c0143_vv
c0143_vvv
c0143_vvvv
c0143_vvvvv
c0144_v
c0144_vv
c0144_vvv
c0144_vvvv
c0144_vvvvv
c0145_v
c0145_vv
c0145_vvv
c0145_vvvv
c0145_vvvvv
c0146_v
c0146_vv
c0146_vvv
c0146_vvvv
c0146_vvvvv
c0147_v
c0147_vv
c0147_vvv
c0147_vvvv
c0147_vvvvv
c0148_v
c0148_vv
c0148_vvv
c0148_vvvv
c0148_vvvvv
c0149_v
c0149_vv
c0149_vvv
c0149_vvvv
c0149_vvvvv
c0150_v
c0150_vv
c0150_vvv
c0150_vvvv
c0150_vvvvv
c0151_v
c0151_vv
c0151_vvv
c0151_vvvv
c0151_vvvvv
c0153_v
c0153_vv
c0153_vvv
c0153_vvvv
c0153_vvvvv
c0154_v
c0154_vv
c0154_vvv
c0154_vvvv
c0154_vvvvv
c0155_v
c0155_vv
c0155_vvv
c0155_vvvv
c0155_vvvvv
c0156_v
c0156_vv
c0156_vvv
c0156_vvvv
c0156_vvvvv
c0157_v
c0157_vv
c0157_vvv
c0157_vvvv
c0157_vvvvv
c0158_v
c0158_vv
c0158_vvv
c0158_vvvv
c0158_vvvvv
c0159_v
c0159_vv
c0159_vvv
c0159_vvvv
c0159_vvvvv
c0160_v
c0160_vv
c0160_vvv
c0160_vvvv
c0160_vvvvv
c0161_v
c0161_vv
c0161_vvv
c0161_vvvv
c0161_vvvvv
c0162_v
c0162_vv
c0162_vvv
c0162_vvvv
c0162_vvvvv
c0163_v
c0163_vv
c0163_vvv
c0163_vvvv
c0163_vvvvv
c0164_v
c0164_vv
c0164_vvv
c0164_vvvv
c0164_vvvvv
c0165_v
c0165_vv
c0165_vvv
c0165_vvvv
c0165_vvvvv
c0167_v
c0167_vv
c0167_vvv
c0167_vvvv
c0167_vvvvv
c0168_v
c0168_vv
c0168_vvv
c0168_vvvv
c0168_vvvvv
c0169_v
c0169_vv
c0169_vvv
c0169_vvvv
c0169_vvvvv
c0170_v
c0170_vv
c0170_vvv
c0170_vvvv
c0170_vvvvv
f0171_v
f0171_vv
f0171_vvv
f0171_vvvv
f0171_vvvvv
c0172_v
f0172_v
c0172_vv
f0172_vv
c0172_vvv
f0172_vvv
c0172_vvvv
f0172_vvvv
c0172_vvvvv
f0172_vvvvv
c0173_v
c0173_vv
c0173_vvv
c0173_vvvv
c0173_vvvvv
c0174_v
c0174_vv
c0174_vvv
c0174_vvvv
c0174_vvvvv
c0175_v
c0175_vv
c0175_vvv
c0175_vvvv
c0175_vvvvv
c0176_v
f0176_v
c0176_vv
f0176_vv
c0176_vvv
f0176_vvv
c0176_vvvv
f0176_vvvv
c0176_vvvvv
f0176_vvvvv
c0177_v
c0177_vv
c0177_vvv
c0177_vvvv
c0177_vvvvv
c0178_v
f0178_v
c0178_vv
f0178_vv
c0178_vvv
f0178_vvv
c0178_vvvv
f0178_vvvv
c0178_vvvvv
f0178_vvvvv
c0179_v
c0179_vv
c0179_vvv
c0179_vvvv
c0179_vvvvv
c0180_v
c0180_vv
c0180_vvv
c0180_vvvv
c0180_vvvvv
c0181_v
c0181_vv
c0181_vvv
c0181_vvvv
c0181_vvvvv
c0182_v
c0182_vv
c0182_vvv
c0182_vvvv
c0182_vvvvv
c0183_v
c0183_vv
c0183_vvv
c0183_vvvv
c0183_vvvvv
c0184_v
c0184_vv
c0184_vvv
c0184_vvvv
c0184_vvvvv
f0185_v
f0185_vv
f0185_vvv
f0185_vvvv
f0185_vvvvv
f0186_v
f0186_vv
f0186_vvv
f0186_vvvv
f0186_vvvvv
c0187_v
c0187_vv
c0187_vvv
c0187_vvvv
c0187_vvvvv
f0188_v
f0188_vv
f0188_vvv
f0188_vvvv
f0188_vvvvv
c0189_v
c0189_vv
c0189_vvv
c0189_vvvv
c0189_vvvvv
c0191_v
c0191_vv
c0191_vvv
c0191_vvvv
c0191_vvvvv
c0192_v
c0192_vv
c0192_vvv
c0192_vvvv
c0192_vvvvv
c0193_v
c0193_vv
c0193_vvv
c0193_vvvv
c0193_vvvvv
c0195_v
c0195_vv
c0195_vvv
c0195_vvvv
c0195_vvvvv
c0196_v
c0196_vv
c0196_vvv
c0196_vvvv
c0196_vvvvv
c0197_v
c0197_vv
c0197_vvv
c0197_vvvv
c0197_vvvvv
c0201_v
c0201_vv
c0201_vvv
c0201_vvvv
c0201_vvvvv
c0202_v
c0202_vv
c0202_vvv
c0202_vvvv
c0202_vvvvv
c0203_v
c0203_vv
c0203_vvv
c0203_vvvv
c0203_vvvvv
c0204_v
c0204_vv
c0204_vvv
c0204_vvvv
c0204_vvvvv
0001_v
0001_vv
0001_vvv
0001_vvvv
0001_vvvvv
0002_v
0002_vv
0002_vvv
0002_vvvv
0002_vvvvv
0003_v
0003_vv
0003_vvv
0003_vvvv
0003_vvvvv
0004_v
0004_vv
0004_vvv
0004_vvvv
0004_vvvvv
0005_v
0005_vv
0005_vvv
0005_vvvv
0005_vvvvv
0006_v
0006_vv
0006_vvv
0006_vvvv
0006_vvvvv
0007_v
0007_vv
0007_vvv
0007_vvvv
0007_vvvvv
0008_v
0008_vv
0008_vvv
0008_vvvv
0008_vvvvv
0009_v
0009_vv
0009_vvv
0009_vvvv
0009_vvvvv
0010_v
0010_vv
0010_vvv
0010_vvvv
0010_vvvvv
0011_v
0011_vv
0011_vvv
0011_vvvv
0011_vvvvv
f0012_v
f0012_vv
f0012_vvv
f0012_vvvv
f0012_vvvvv
0013_v
0013_vv
0013_vvv
0013_vvvv
0013_vvvvv
0014_v
0014_vv
0014_vvv
0014_vvvv
0014_vvvvv
Error_handlings
last_result pass through block func
Built with
from
up project
navigation
UPcmd
github source
release
User Manual
Chapter 1
installation and usage
command line basics
installation
list tasks
config yml
command args
use upcli docker image
public and protected tasks
working directory
Chapter 2
quick start
First task - hello world
Multiple Steps
Yaml literal
Use array
manage dependencies
call func (power up)
use env var
syntax variation
how to run the examples
a little taste of UPcmd
Chapter 3
vars
Use variables
vars in func
variables in callee
use vars
use golang template
var rendering
local vars
local vs reg global
var scope and accessibility
var scope in callee
task scope
taskScope vars in callee
local vars from file
use pure local vars
taskScope vars in block
probe exisitence of path
use vars in desc
Chapter 4
call func
assemble worlflow
call func as interface
overriden in callee
multiple layers overriding
return values
sequence matters in return 1
sequence matters in return 2
chained calls and return values
Chapter 5
scope
vars intro
externalize settings
leave merge
runtime merge
Chapter 6
dvars
dvars intro
complext object
string literal
convert dvar
externalize settings
dvars in scopes
complex case
leave level merge
instance level merge
local scope merge
dvars in call
dynamics on dynamics
load file using dvar
dvar to global
datakey as source
void for action
load from refdir
datapath
datatemplate
Chapter 7
golang template
builtin funcs
sprig funcs
gtf funcs
advanced usage
use loop
range and outer value
UPcmd internal template funcs
all template funcs
splitLines func
type compare
yml obj json conversion
Chapter 8
shell func
register result
check result
ignore error
handle std err
silent the shell execution
Chapter 9
design patterns
workflow skeleton
basic cli skeleton
data structure
modular tasks
externalise task def
call and vars
design patterns
private var scope
Chapter 10
environment vars
basics
client validation
environment vars
declare env var
env vars in scopes
environment vars
virtualEnv cmd
Chapter 11
security
builtin en/decryption
use env var to encrypt and decrypt
secure env var
use valut to store secrets
encrypteAesWithVault template func to retrieve and encrypt
mask senstive info in shell execution
retrieve secret from valut
Chapter 12
flow controll
if condition
if condition advanced
use pause
Exit result per step
dynamic routing
dynamic routing extra
loopitem in callee's dvar
use break in call
non-exist value if
indirect reference
else in hard way
else branch
else with a flow
None value
final cleanup when shell exceution fails
final cleanup without resuce
guaranteed final step to ensure clean up/rescue
finally steps block
conditionally error handling
finally/resuce support in task level
final step using block
finally in subtask level
finally in subtask called from block
finally subtask no ignoreError
finally/resuce support in subtask level
complex task finally in sub task
finally/resuce support in subtask level
task finally always emit
finally/resuce support in task level
Chapter 13
loop
loopitem in dvar
multi-layers loop 1
multi-layers loop 2
loop with condition
condition with until
break recursive loop
loop usage guide
loop with var name
loop with range iterator
loop and retry example
use dynamic variable in until
Chapter 14
config organization
ref task
use case 1
use case 2
use tasksref
load from refdir
config file loading
Chapter 15
cmd func
print message
reg and deReg
read/write file
sleep
toObj
delete in yml file
modify yml content
break cmd
color print
template using data file
tmp file
tmp file with dynamic file handler
Chapter 16
block func
use block
embeded block
block in else
call task from block
call block from task
testcase1 for block
test case 1
test case 2
test case 3
complicated test case 4
complicated test case 5
Chapter 17
templating
templating using dvar
use template cmd
datakey and datapath
Chapter 18
test and debug
verbose flag
pause and inspect
ues trace
assert and inspect
failFast
deactivated step
deactivated sub step in cmd
fail
error handling
Chapter 19
user interaction
profile with env vars
externise exec profile
prompt in taskScope
user prompt
chained pipein from stdin
profile with env vars logs
exec profile example
exec profile with entry task
exec profile with pure env flag
exec profile with alternative entry
Chapter 20
object oriented
reg/deReg/void
parse yml to object
query
map structure result
reg/set an object
access and register sub object 1
access and register sub object 2
Chapter 21
syntax
multiline styles
Chapter 22
advanced use cases
web scraping example
upcmd doco auto generation
Chapter 23
modules
module commands
module config
module repo auth
HelloWorld example
simple vars
return value
jailed exec context
Complex vars
Complex call layers
use alias
moule lock
module validation
multi module calls
module multi vesioning
max module restriction
manage indirect dependencies
<no value>
Chapter 24
idea and faq
mutli-threads/concurrency
watch and monitoring
more funcs support
http/rest api support
cli tools work with
Chapter 26
Error_handlings
last_result pass through block func