Open npearce opened 6 years ago
Really good idea. So, the supplied way to build is using Perl, correct? https://devcentral.f5.com/wiki/iControlLX.HowToSamples_deploy_icontrol_extension.ashx
If we want to include it with our node-based test/build scripts, perhaps we could look at an NPM package to do it for us (note, most of these have executable dependencies on their own): https://www.npmjs.com/search?q=build%20rpm
Would be really cool to be able to call npm build to kick this off :)
Actually, this is probably a better method for RPM building (at least known good given we have the same target platform :) ) : https://github.com/F5Networks/f5-declarative-onboarding/blob/master/build/buildRpm.sh
It looks like they are using an Alpine container in their GItLab CI environment., I'm sure we can do something similar with Travis CI.
Accelerate testing through local
rpmbuild
and deploy execution.Current process:
1) Upload code to BIG-IP: 2) execute:
curl -u admin:default -X POST http://localhost:8100/mgmt/shared/iapp/build-package -d '{ "appName": "BigStats", "packageVersion":"0.4.0", "packageRelease":"0002" }'
3) Download RPM from BIG-IP 4) scp RPM to test BIG-IP versions... 5) execute install:curl -u admin:default -X POST http://localhost:8100/mgmt/shared/iapp/package-management-tasks -d '{ "operation":"INSTALL","packageFilePath": "/var/config/rest/downloads/n8-BigStats-0.4.0-0004.noarch.rpm"}'
Desired process:
1) Execute local script for: a)
rpmbuild
b) copy to test BIG-IPs c) install viashared/iapp/package-management-tasks
Requires RPM SPEC file.