Skip to content

MarkM-Portfolio/docs

Repository files navigation

Build Status

IBM HCL Docs

Developer Builds

prerequisites

  • IBM JVM

  • nodejs v0.10.33

    • there are linux and w32 versions under viewerapp buildtools
    • for other OS, you will need to specify in path
  • uglifyjs

  • env variables (defaults: ./setup-env.sh||.cmd):

    • JAVA_HOME point to your IBM JVM dir
    • FS_MNT point to your mlsa2 mount, or local dir if you have the resources existing locally (symphony binaries, conversion library)
    • sample environment variables setup (from my mac):
      export JAVA_HOME=~/DEV/tools/ibm_macosxx6480sr4fp10hybrid-sdk_20170911
      export ANT_HOME=~/DEV/tools/apache-ant-1.9.14
      
      # Using node version manager:
      export NODE_HOME=/Users/testrada/.nvm/versions/node/v8.15.1/bin/node
      #export NODE_HOME=/usr/local/bin/node
      
      #export CLASSPATH=${CLASSPATH}:~/DEV/tools/xalan-j_2_7_1/
      export PATH=${JAVA_HOME}/jre/bin:${ANT_HOME}/bin:$PATH
      
      export JS_UT_ENABLE=false # for unit tests
      export PATCH_ENABLE=false # for creating ifix patch
      
      # copied current builds from samba accessed network share mlsa2 locally in order to speed up local builds
      # /Volumes/aws-hcl-cwp-hawkins-mlsa2/workplace/dailybuilds/docs_app/ -> /Users/testrada/DEV/git/ic/docs/mlsa2/workplace/dailybuilds/docs_app/
      # /Volumes/aws-hcl-cwp-hawkins-mlsa2/workplace/dailybuilds/docs_cl_lnx/ -> /Users/testrada/DEV/git/ic/docs/mlsa2/workplace/dailybuilds/docs_cl_lnx/
      # /Volumes/aws-hcl-cwp-hawkins-mlsa2/workplace/dailybuilds/docs_cl_w32/ -> /Users/testrada/DEV/git/ic/docs/mlsa2/workplace/dailybuilds/docs_cl_w32/
      # /Volumes/aws-hcl-cwp-hawkins-mlsa2/workplace/dailybuilds/Symphony/ -> /Users/testrada/DEV/git/ic/docs/mlsa2/workplace/dailybuilds/Symphony/
      # /Volumes/aws-hcl-cwp-hawkins-mlsa2/workplace/goldbuilds/IBMConnectionsDocs* -> /Users/testrada/DEV/git/ic/docs/mlsa2/workplace/goldbuilds/
      export FS_MNT=/Users/testrada/DEV/git/ic/docs/mlsa2
      #export FS_MNT=/Volumes/aws-hcl-cwp-hawkins-mlsa2  # USE LOCAL STATIC COPY AS ABOVE INSTEAD
      export WORKPLACE_DIR=${FS_MNT}/workplace
      export DAILYBUILDS=${WORKPLACE_DIR}/dailybuilds
      export GOLDBUILDS=${WORKPLACE_DIR}/goldbuilds
      export SYMPHONY=${DAILYBUILDS}/Symphony
      export ConversionLibrary_RPATH=${DAILYBUILDS}/docs_cl_w32
      export Linux_ConversionLibrary_RPATH=${DAILYBUILDS}/docs_cl_lnx
      export PATCH_BASE_RELPATH=IBMConnectionsDocs_2.0.0
      
      
      # these are used to build deployment projects (only used in pipeline build workspace)
      #export PDEV_ECLIPSE_HOME1=~/DEV/tools/PackageDeveloper409/eclipse
      #export PDEV_ECLIPSE_HOME2=~/DEV/tools/PackageDeveloper
      #export IM_ECLIPSE_HOME=~/DEV/tools/InstallationManager/eclipse
      #export RTC_BUILD_DIR=/local1/cnxbuild/jazz
      
      # FTP server to get from and push to (get symphone, conversion lib)
      # these are obsolete; the build is now using copy to FS_MNT points instead of ftp get/put
      #export BUILD_FTP_REMOTESERVER=icautomation.cnx.cwp.pnp-hcl.com
      #export ServerADDR=icautomation.cnx.cwp.pnp-hcl.com
      #export BUILD_FTP_USERNAME=conbld
      #export BUILD_FTP_PASSWORD=<***hidden***>
      
      # for development builds or non supported deployments, skip the deployment project
      #export MVN_CUSTOM_OPTIONS="-V --fail-at-end --projects \"!deployment\" -P devel"
      export MVN_CUSTOM_OPTIONS="-V --fail-at-end --projects \"!deployment\" "
      
  • unit & e2e tests (uses remote test server via ssh):

    • JS_UT_ENABLE (false, disable for now)
    • JS_UT_SSH_HOST (used when above is true)
    • JS_UT_SSH_USERID
  • no longer used (ftp tasks have been replaced with copy tasks from mlsa2 network share)

    • BUILD_FTP_REMOTESERVER (docsftp0.cnx.cwp.pnp-hcl.com)
      • BUILD_FTP_USERNAME
      • BUILD_FTP_PASSWORD

commands

  • ./build.sh starts build

caveats

  • if you have global maven installed, it may conflict with this project's maven ./buildtools/apache-maven-<version> install

  • IBM JVM is needed as com.ibm.misc is not found in Oracle's JVM

  • when tests are enabled, build scripts will run unit tests in a remote server via ssh (see docs-web.resources/com.ibm.docs.web.resources/teststools/run_ut.sh)

  • BUILD_FTP_REMOTESERVER is used to get symphony binaries, conversion libraries

TASKS DURING RELEASE CYCLES

External Dependencies

There are a number of artifacts (jars) that are copied statically from external sources. Since there is no automated process for retrieving and keeping these resources updated to latest compatible levels, one must check each one and update them or create new version of them internally under ./buildtools/mavenRepository

NOTE: this is a WIP list. as we find more, add them above

origin (RTC)

for reference, this is the repository structure in RTC from where these files were transferred:

components

concord_base

viewer_base

conversion_base

note: sanity_base imported to a separate repo -> https://git.cwp.pnp-hcl.com/ic/docs-automation#origin-rtc

How to build Docs locally using docker image

  • pull docs docker image
    docker pull buildutils-docker.artifactory.cwp.pnp-hcl.com/docs_app-build:latest

  • mount MLSA2
    mount -t smbfs //'sgw-E713F48E;smbguest':connections@10.190.161.197/aws-hcl-cwp-hawkins-mlsa2 /Users/olgarueckert/mnt

  • run docker image as follows
    docker run -t -d -u 1001:1001 -v /Users/olgarueckert/mnt:/mnt/mlsa2 -v /Users/olgarueckert/code/ic/docs:/local1/cnxbuild/docs_app:rw,z -v /Users/olgarueckert/code/ic/docs@tmp:/local1/cnxbuild/docs_app@tmp:rw,z buildutils-docker.artifactory.cwp.pnp-hcl.com/docs_app-build:latest cat

  • ssh into docs container

    docker exec -it 79efc491f370 /bin/bash
    cd /local1/cnxbuild/docs_app
    . ./setup-env.sh
    ./build.sh
    tail -f /local1/cnxbuild/docs_app/Build/maven.log

About

No description or website provided.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published