Globalyzer CI/CD (Continuous Integration and Continuous Delivery): Difference between revisions
No edit summary |
|||
| Line 41: | Line 41: | ||
<?xml version="1.0" encoding="UTF-8" standalone="no"?> | <?xml version="1.0" encoding="UTF-8" standalone="no"?> | ||
<!-- All items are allowed anywhere in the xml as long as the | |||
is preserved --> | hierarchy is preserved --> | ||
<gzproject> | |||
<login> | |||
<username></username> | <server> </server> <!-- must match .globalyzerrc setting --> | ||
<password></password> | <username></username> <!-- must be specified in .globalyzerrc --> | ||
<password></password> <!-- must be specified in .globalyzerrc --> | |||
<use-local-rulesets></use-local-rulesets> | <!-- if .globalyzerrc is present --> | ||
<use-local-rulesets></use-local-rulesets> <!-- optional. May be 'true' or 'false' --> | |||
<!-- if true, you need a Globalyzer.license --> | |||
<!-- Optional Parameters (Delete this section if not using them) --> | |||
<optional> | <optional> | ||
<proxy-user></proxy-user> | <!-- If using, host and port must be filled out --> | ||
<proxy-user> </proxy-user> | |||
<proxy-password></proxy-password> | <proxy-password></proxy-password> | ||
<proxy-host></proxy-host> | <proxy-host> </proxy-host> <!-- required if using proxy --> | ||
<proxy-port></proxy-port> | <proxy-port> </proxy-port> <!-- required if using proxy --> | ||
<optional> | </optional> | ||
</login> | |||
<!-- Paths may be absolute, or relative --> | |||
<project-path></project-path> <!-- may be specified via command line --> | |||
<project-name></project-name> | |||
<report-path></report-path> <!-- may be specified via command line --> | |||
<report-type></report-type> <!-- See 'Report Information' --> | |||
<data-dictionary-location></data-dictionary-location> <!-- optional --> | |||
<filter-with-dictionary></filter-with-dictionary> <!-- optional. May be 'true' or 'false' --> | |||
<scan-timeout>500</scan-timeout> <!-- optional. Max value 600 (seconds) --> | |||
<generate-partial-results></generate-partial-results> <!-- optional. May be 'true' or 'false' --> | |||
<save-history></save-history> <!-- optional. May be 'true' or 'false' --> | |||
<scans> | |||
<scan> | <scan> | ||
<!-- create and execute a single scan with this info --> | |||
<scan-name> </scan-name> | |||
<ruleset-name> </ruleset-name> <!-- must match existing --> | |||
<ruleset-owner></ruleset-owner> | |||
</scan> | </scan> | ||
<scan> | <scan> | ||
<!-- create and execute a single scan with this info --> | |||
<scan-name> </scan-name> | |||
<ruleset-name> </ruleset-name> <!-- must match existing --> | |||
<ruleset-owner></ruleset-owner> | |||
<!-- optional --> | |||
<use-machine-learning>true</use-machine-learning> <!-- May be 'true' or 'false' --> | |||
<!-- if true, you must have generated --> | |||
<!-- machine learning zip files --> | |||
<!-- from the Workbench --> | |||
<!-- optional --> | |||
<encoding>UTF-8</encoding> <!-- encoding of files to scan --> | |||
<!-- optional --> | |||
<scan-items> <!-- may be overridden via command line --> | |||
<item></item> <!-- delete me if blank --> | |||
<item></item> <!-- delete me if blank --> | |||
</scan-items> | |||
<!-- optional --> | |||
<comments> | |||
<!-- customize Globalyzer recognized comments --> | |||
<todo>SPECIAL_GLOBALYZER_TODO_COMMENT</todo> | |||
<ignore-next-line>GBLYZR_IGNORE_NEXT_LINE</ignore-next-line> | |||
<start-ignore>GLOBALYZER_START_IGNORE</start-ignore> | |||
<end-ignore>GBL_END_IGNORE</end-ignore> | |||
</comments> | |||
<!-- optional --> | |||
<checks> | |||
<!-- specify which issue types to detect --> | |||
<embedded-strings>true</embedded-strings> | |||
<locale-sensitive-methods>false</locale-sensitive-methods> | |||
<general-patterns>true</general-patterns> | |||
<static-file-references>false</static-file-references> | |||
</checks> | |||
</scan> | </scan> | ||
</scans> | |||
</gzproject> | |||
Revision as of 21:54, 12 June 2019
What is Globalyzer Lite and Globalyzer CI/CD?
Globalyzer Lite is the product that allows users to scan code and create reports without having to use the Globalyzer Workbench or set up a database. In the Lingoport Continuous Globalization Server, Globalyzer Lite (Globalyzer CI/CD) is an integral part of the process to create reports that are displayed in the Lingoport Dashboard showing the number of internationalization issues detected.
Using Globalyzer Lite in a Continuous Globalization System
If the Lingoport Continuous Globalization System was installed and configured using the Stack Installer or Stack Updater, then Globalyzer Lite has already been integrated into the system.
- Check in a project definition file into source control.
- On-board a Jenkins project for the code base using one of the Globalyzer Lite templates like Lingoport.SampleLite or Lingoport.SampleLiteLRM.
- Check the Lingoport Dashboard and verify that the results are shown.
Globalyzer Lite is easy to integrate into other Continuous Integration (CI) systems as well.
- Check in a project definition file into source control (or, if you prefer, place one in the Jenkins server's filesystem).
- Run the following from Jenkins' shell:
java -jar globalyzer-lite.jar -f "${WORKSPACE}/GlobalyzerProjectDefinitionFile.xml" --project-path "${WORKSPACE}" --report-path "globalyzer-lite-reports"
- Use the Lingoport Dashboard to display the results from the generated reports.
You may also pass the reports to your own reporting system.
Using Globalyzer Lite from a command line
Globalyzer Lite can be executed from a command prompt or shell via the following command:
java -jar globalyzer-lite.jar some_location/YourProjectDefinitionFile.xml
After Globalyzer Lite finishes each scan, a relevant Globalyzer report is created at the location specified in the Project Definition's report path.
Lite also allows for altering the following parameters via command line options:
- The Project Path
- The Report Path
- The Files/Directories to scan
- The location of the Globalyzer License (if using Local Rule Sets)
Project Definition Format
Here is the template for a project definition file. For the full instructions to setup a project definition file, see our help page.
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<gzproject>
<login>
<server> </server>
<username></username>
<password></password>
<use-local-rulesets></use-local-rulesets>
<optional>
<proxy-user> </proxy-user>
<proxy-password></proxy-password>
<proxy-host> </proxy-host>
<proxy-port> </proxy-port>
</optional>
</login>
<project-path></project-path> <project-name></project-name>
<report-path></report-path> <report-type></report-type>
<data-dictionary-location></data-dictionary-location> <filter-with-dictionary></filter-with-dictionary>
<scan-timeout>500</scan-timeout> <generate-partial-results></generate-partial-results> <save-history></save-history>
<scans>
<scan>
<scan-name> </scan-name>
<ruleset-name> </ruleset-name>
<ruleset-owner></ruleset-owner>
</scan>
<scan>
<scan-name> </scan-name>
<ruleset-name> </ruleset-name>
<ruleset-owner></ruleset-owner>
<use-machine-learning>true</use-machine-learning>
<encoding>UTF-8</encoding>
<scan-items>
<item></item>
<item></item>
</scan-items>
<comments>
<todo>SPECIAL_GLOBALYZER_TODO_COMMENT</todo>
<ignore-next-line>GBLYZR_IGNORE_NEXT_LINE</ignore-next-line>
<start-ignore>GLOBALYZER_START_IGNORE</start-ignore>
<end-ignore>GBL_END_IGNORE</end-ignore>
</comments>
<checks>
<embedded-strings>true</embedded-strings>
<locale-sensitive-methods>false</locale-sensitive-methods>
<general-patterns>true</general-patterns>
<static-file-references>false</static-file-references>
</checks>
</scan>
</scans>
</gzproject>