如何使用部署脚本在 Karaf 控制台中 运行 docker 内的 Servicemix 命令?
How to run Servicemix commands inside docker in Karaf console using deploy script?
各位同事,正好我现在在一个老项目中使用了servicemix 7.0技术。我手动 运行 有几个命令。
build image servicemix
docker build --no-cache -t servicemix-http:latest .
start container and copy data from local folder source and folder .m
docker run --rm -it -v %cd%:/source -v %USERPROFILE%/.m2:/root/.m2 servicemix-http
start console servicemix and run command
feature:repo-add file:/../source/source/transport/feature/target/http-feature.xml
run command
feature:install http-feature
copy deploy files from local folder to deploy folder into servicemix
docker cp /configs/. :/deploy
update image servicemix
docker commit servicemix-http
现在我描述用于部署的gitlab-ci.yml。
问题涉及从 karaf 控制台启动的 servicemix 命令。
feature:repo-添加
feature:install
有什么方法可以编写它们吗?
如果您只需要在启动时从特定功能存储库安装功能,您可以将功能和 feature-repositories 添加到 /etc/org.apache.karaf.features.cfg
。
您可以使用 ssh 和 private-key 将命令传递给 Apache karaf。
ssh karaf@localhost -p 8101 -i ~/.ssh/karaf_private_key -- bundle:list
您也可以通过 Karaf_home/bin/client
尝试 运行 命令,尽管我在尝试使用 Windows 10 ServiceMix 7.0.1 时没有成功。它一直向我抛出 NullReferenceException,所以猜测我的 java 安装缺少一些与安全相关的配置。
虽然 运行 在 docker 上安装较新的 Karaf 时效果很好,但也可以通过 docker exec 使用。
# Using password - (doesn't seem to be an option for servicemix)
docker exec -it karaf /opt/apache-karaf/bin/client -u karaf -p karaf -- bundle:list
# Using private-key
docker exec -it karaf /opt/apache-karaf/bin/client -u karaf -k /keys/karaf_key -- bundle:list
各位同事,正好我现在在一个老项目中使用了servicemix 7.0技术。我手动 运行 有几个命令。
build image servicemix docker build --no-cache -t servicemix-http:latest .
start container and copy data from local folder source and folder .m docker run --rm -it -v %cd%:/source -v %USERPROFILE%/.m2:/root/.m2 servicemix-http
start console servicemix and run command feature:repo-add file:/../source/source/transport/feature/target/http-feature.xml
run command feature:install http-feature
copy deploy files from local folder to deploy folder into servicemix docker cp /configs/. :/deploy
update image servicemix docker commit servicemix-http
现在我描述用于部署的gitlab-ci.yml。 问题涉及从 karaf 控制台启动的 servicemix 命令。 feature:repo-添加 feature:install 有什么方法可以编写它们吗?
如果您只需要在启动时从特定功能存储库安装功能,您可以将功能和 feature-repositories 添加到 /etc/org.apache.karaf.features.cfg
。
您可以使用 ssh 和 private-key 将命令传递给 Apache karaf。
ssh karaf@localhost -p 8101 -i ~/.ssh/karaf_private_key -- bundle:list
您也可以通过 Karaf_home/bin/client
尝试 运行 命令,尽管我在尝试使用 Windows 10 ServiceMix 7.0.1 时没有成功。它一直向我抛出 NullReferenceException,所以猜测我的 java 安装缺少一些与安全相关的配置。
虽然 运行 在 docker 上安装较新的 Karaf 时效果很好,但也可以通过 docker exec 使用。
# Using password - (doesn't seem to be an option for servicemix)
docker exec -it karaf /opt/apache-karaf/bin/client -u karaf -p karaf -- bundle:list
# Using private-key
docker exec -it karaf /opt/apache-karaf/bin/client -u karaf -k /keys/karaf_key -- bundle:list