900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > 使用Docker构建Oracle ADF应用程序

使用Docker构建Oracle ADF应用程序

时间:2019-09-18 11:59:16

相关推荐

使用Docker构建Oracle ADF应用程序

最近,我的一个好朋友在使用公共Oracle Maven存储库构建ADF应用程序v.12.2.1.2时经常遇到问题。 他要求我检查它是否对我有用。 好吧……没有。 因此,存储库存在一些问题。 为了使实验整洁并避免对我的工作环境造成任何影响,我决定在docker容器中运行测试。

而且即使我不能帮助我的朋友(抛出一些依赖异常也无法正常工作),作为此检查的结果,我得到了一个可重用的docker映像,该映像用作ADF应用程序的预配置构建机器(适用于12.2版)。 1.3那时,Oracle Maven存储库运行良好。

这是我所做的:

1.拉并运行ubuntuDocker映像

$: docker run -it --name adfbuilder ubuntu

2.在adfbuilder容器中安装Java

apt-get install software-properties-common python-software-propertiesadd-apt-repository ppa:webupd8team/javaapt-get updateapt-get install oracle-java8-installer

3.在adfbuilder容器中安装Maven

只需下载Maven二进制文件并将其解压缩到某个文件夹中,然后复制到容器中即可:

docker cp ~/Downloads/apache-maven-3.5.2 adfbuilder:/opt/apache-maven-3.5.2

更新容器中的PATH环境变量

export PATH=$PATH:/opt/apache-maven-3.5.2/bin

完成后,mvn应该可用。 在容器中运行它,它将在用户家中创建一个隐藏的.m2文件夹。

4.在adfbuilder容器中配置Maven以与Oracle Maven存储库一起使用

只需放入隐藏的.m2文件夹

docker cp settings.xml adfbuilder:/root/.m2/settings.xml

包含以下内容的settings.xml文件:

<settings xmlns="/SETTINGS/1.0.0" xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/SETTINGS/1.0.0 /xsd/settings-1.0.0.xsd"><servers><server><id></id><username>eugene.fedorenko@</username><password><MY_PASSWORD></password><configuration><basicAuthScope><host>ANY</host><port>ANY</port><realm>OAM 11g</realm></basicAuthScope><httpConfiguration><all><params><property><name>http.protocol.allow-circular-redirects</name><value>%b,true</value></property></params></all></httpConfiguration></configuration></server></servers><profiles><profile><id>main</id><activation><activeByDefault>true</activeByDefault></activation><repositories><repository><id></id><releases><enabled>true</enabled></releases><snapshots><enabled>false</enabled></snapshots><url></url><layout>default</layout></repository></repositories><pluginRepositories><pluginRepository><id></id><url></url></pluginRepository></pluginRepositories></profile></profiles></settings>

基本上,这足以在容器中编译Maven配置的ADF应用程序。 我们需要确保可以从容器访问我们的应用程序的源代码。 可以通过将源文件夹映射为从容器可见或仅将其复制到容器中来完成。

docker cp / mywork / MySampleApp adfbuilder:/ opt / MySampleApp

完成此操作后,我们可以运行以下命令来编译应用程序:

docker exec adfbuilder mvn -f /opt/MySampleApp/pom.xml编译

5.将JDeveloper二进制文件复制到容器中

由于我们希望超越这一点,不仅能够编译,而且能够生成可部署的工件(耳朵,罐子等),所以我们需要将JDeveloper二进制文件放入容器中(基本上,maven需要ojdeploy)。我刚刚将Mac_目录中的Oracle_Home文件夹复制到了容器中:

docker cp /My_Oracle_Home adfbuilder:/opt/Oracle_Home

所以,现在我能够建立一个耳朵我的容器应用程序:

docker exec adfbuilder mvn -f /opt/MySampleApp/pom.xml package -DoracleHome=/opt/Oracle_Home

对于第一次运行,它可能会要求您提供JDK的路径

[INFO] Type the full pathname of a JDK installation (or Ctrl-C to quit), the path will be stored in /root/.jdeveloper/12.2.1.3.0/product.conf/usr/lib/jvm/java-8-oracle

6.提交对容器的更改

我们需要做的最后一件事是将更改提交到容器:

docker commit adfbuilder efedorenko/adfbuilder

这将创建一个新的ubuntu映像,其中包含我们应用的所有更改。 我们可以轻松地在基础架构中的任何位置运行该映像,并将其用作ADF应用程序的构建机器。 它的优点在于我们可以在像Docker Cloud(由AWS,Microsoft Azure,Digital Ocean等支持)或Oracle容器云服务等云中运行它,也可以随便使用它。 使用这种方法,云中的服务器可以为您构建应用程序,这通常是一项非常耗资源的工作。

就是这样!

翻译自: //01/building-oracle-adf-applications-docker.html

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。