-
Notifications
You must be signed in to change notification settings - Fork 59
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Raphael Yu
authored and
Raphael Yu
committed
Oct 30, 2017
1 parent
72a30d3
commit 5160181
Showing
33 changed files
with
2,143 additions
and
49 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,22 +1,13 @@ | ||
# Compiled class file | ||
*.class | ||
|
||
# Log file | ||
*.log | ||
|
||
# BlueJ files | ||
*.ctxt | ||
|
||
# Mobile Tools for Java (J2ME) | ||
.mtj.tmp/ | ||
|
||
# Package Files # | ||
*.jar | ||
*.war | ||
*.ear | ||
*.zip | ||
*.tar.gz | ||
*.rar | ||
|
||
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml | ||
hs_err_pid* | ||
/bin | ||
/target | ||
/work | ||
|
||
*.idea | ||
*.settings | ||
*.project | ||
*.classpath | ||
*.iml | ||
|
||
nbactions-*.xml | ||
nb-configuration.xml | ||
nbactions.xml |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,21 +1,21 @@ | ||
MIT License | ||
MIT License | ||
|
||
Copyright (c) Microsoft Corporation. All rights reserved. | ||
Copyright (c) Microsoft Corporation. All rights reserved. | ||
|
||
Permission is hereby granted, free of charge, to any person obtaining a copy | ||
of this software and associated documentation files (the "Software"), to deal | ||
in the Software without restriction, including without limitation the rights | ||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||
copies of the Software, and to permit persons to whom the Software is | ||
furnished to do so, subject to the following conditions: | ||
Permission is hereby granted, free of charge, to any person obtaining a copy | ||
of this software and associated documentation files (the "Software"), to deal | ||
in the Software without restriction, including without limitation the rights | ||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||
copies of the Software, and to permit persons to whom the Software is | ||
furnished to do so, subject to the following conditions: | ||
|
||
The above copyright notice and this permission notice shall be included in all | ||
copies or substantial portions of the Software. | ||
The above copyright notice and this permission notice shall be included in all | ||
copies or substantial portions of the Software. | ||
|
||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||
SOFTWARE | ||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||
SOFTWARE |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,14 +1,43 @@ | ||
# azure-oauth-plugin | ||
A Jenkins Plugin that supports authentication via Azure OAuth | ||
|
||
# Contributing | ||
|
||
This project welcomes contributions and suggestions. Most contributions require you to agree to a | ||
Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us | ||
the rights to use your contribution. For details, visit https://cla.microsoft.com. | ||
|
||
When you submit a pull request, a CLA-bot will automatically determine whether you need to provide | ||
a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions | ||
provided by the bot. You will only need to do this once across all repos using our CLA. | ||
# Setup In Azure Active Directory | ||
|
||
This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). | ||
For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or | ||
contact [[email protected]](mailto:[email protected]) with any additional questions or comments. | ||
Open `Azure Active Directory`, in `Properties`, copy Directory ID, it will be used as `tenant` in Jenkins | ||
|
||
Register an application in AAD, copy the `Application ID`, it will be used as `Client ID` | ||
|
||
In Application setting page, add a new entry [http://{your-jenkins-domain}/securityRealm/finishLogin](http://{your-jenkins-domain}/securityRealm/finishLogin) | ||
|
||
In Application setting page, click `Keys`, generate a new key, copy the `value`, it will be used as `Client Secret` in Jenkins. | ||
|
||
In Application setting page, click `Required Permissions` and select `Windows Azure Service Management API`, then select `Access Azure Service Management as organization users (preview)` and save. This API and permission is for manage resource in subscription | ||
|
||
In Application setting page, click `Required Permissions` and select `Microsoft Graph`, then select `Read all groups` and `Read directory data` permissions in Application permissions section | ||
|
||
Click `Grant Permissions`. If you are not an admin in your tenant, please contact admin to grant the permissions which declared as `require admin` in `Enable Access` page | ||
|
||
Wait at most 20 minutes to let the permissions take effects. | ||
|
||
|
||
# Setup In Jenkins | ||
|
||
Click `Manage Jenkins` in the left menu, then click `Configure Global Security`, check `Enable security` | ||
|
||
|
||
## Enable Azure Authentication | ||
|
||
To enable Azure Authentication, check `Azure OAuth Plugin` and fill in the textbox copied from Azure portal. | ||
|
||
Click `Verify Application` to make sure your input is valid. | ||
|
||
## Enable Azure Aurhorization | ||
|
||
To enable Azure Authentication, check `Azure Active Directory Role-Based Strategy` | ||
|
||
Click `Save`, click `Manage Jenkins` and then `Manage and Assign Roles` to manage roles and assign roles to Azure users or groups. | ||
|
||
## Assign Roles | ||
If you are going to make roles for Azure users or groups, the format for `User/group to add` is `Display Name(Object ID)`. You can wait for auto-completion of textbox and select one of them to make sure your input is valid. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,146 @@ | ||
<!-- | ||
~ Copyright (c) Microsoft Corporation. All rights reserved. | ||
~ Licensed under the MIT License. See LICENSE file in the project root for license information. | ||
--> | ||
|
||
<!DOCTYPE module PUBLIC | ||
"-//Puppy Crawl//DTD Check Configuration 1.3//EN" | ||
"http://checkstyle.sourceforge.net/dtds/configuration_1_3.dtd"> | ||
|
||
<!-- | ||
Based on the sun_checks.xml https://github.com/checkstyle/checkstyle/blob/master/src/main/resources/sun_checks.xml | ||
--> | ||
|
||
<module name="Checker"> | ||
<!-- | ||
If you set the basedir property below, then all reported file | ||
names will be relative to the specified directory. See | ||
http://checkstyle.sourceforge.net/5.x/config.html#Checker | ||
<property name="basedir" value="${basedir}"/> | ||
--> | ||
|
||
<property name="fileExtensions" value="java, properties, xml"/> | ||
|
||
<!-- Checks whether files end with a new line. --> | ||
<!-- See http://checkstyle.sf.net/config_misc.html#NewlineAtEndOfFile --> | ||
<module name="NewlineAtEndOfFile"> | ||
<property name="lineSeparator" value="lf"/> | ||
</module> | ||
|
||
<!-- Checks that property files contain the same keys. --> | ||
<!-- See http://checkstyle.sf.net/config_misc.html#Translation --> | ||
<module name="Translation"/> | ||
|
||
<!-- Checks for Size Violations. --> | ||
<!-- See http://checkstyle.sf.net/config_sizes.html --> | ||
<module name="FileLength"/> | ||
|
||
<!-- Checks for whitespace --> | ||
<!-- See http://checkstyle.sf.net/config_whitespace.html --> | ||
<module name="FileTabCharacter"/> | ||
|
||
<!-- Miscellaneous other checks. --> | ||
<!-- See http://checkstyle.sf.net/config_misc.html --> | ||
<module name="RegexpSingleline"> | ||
<property name="format" value="\s+$"/> | ||
<property name="minimum" value="0"/> | ||
<property name="maximum" value="0"/> | ||
<property name="message" value="Line has trailing spaces."/> | ||
</module> | ||
|
||
<module name="TreeWalker"> | ||
<!-- Checks for Javadoc comments. --> | ||
<!-- See http://checkstyle.sf.net/config_javadoc.html --> | ||
<module name="JavadocStyle"/> | ||
|
||
<!-- Checks for Naming Conventions. --> | ||
<!-- See http://checkstyle.sf.net/config_naming.html --> | ||
<module name="ConstantName"/> | ||
<module name="LocalFinalVariableName"/> | ||
<module name="LocalVariableName"/> | ||
<module name="MemberName"/> | ||
<module name="MethodName"/> | ||
<module name="PackageName"/> | ||
<module name="ParameterName"/> | ||
<module name="StaticVariableName"/> | ||
<module name="TypeName"/> | ||
|
||
<!-- Checks for imports --> | ||
<!-- See http://checkstyle.sf.net/config_import.html --> | ||
<module name="AvoidStarImport"/> | ||
<module name="IllegalImport"/> <!-- defaults to sun.* packages --> | ||
<module name="RedundantImport"/> | ||
<module name="UnusedImports"> | ||
<property name="processJavadoc" value="false"/> | ||
</module> | ||
|
||
<!-- Checks for Size Violations. --> | ||
<!-- See http://checkstyle.sf.net/config_sizes.html --> | ||
<module name="LineLength"> | ||
<property name="max" value="120"/> | ||
</module> | ||
<module name="MethodLength"/> | ||
|
||
<!-- Checks for whitespace --> | ||
<!-- See http://checkstyle.sf.net/config_whitespace.html --> | ||
<module name="EmptyForIteratorPad"> | ||
<property name="option" value="space"/> | ||
</module> | ||
<module name="GenericWhitespace"/> | ||
<module name="MethodParamPad"/> | ||
<module name="NoWhitespaceAfter"/> | ||
<module name="NoWhitespaceBefore"/> | ||
<module name="OperatorWrap"/> | ||
<module name="ParenPad"/> | ||
<module name="TypecastParenPad"/> | ||
<module name="WhitespaceAfter"/> | ||
<module name="WhitespaceAround"/> | ||
|
||
<!-- Modifier Checks --> | ||
<!-- See http://checkstyle.sf.net/config_modifiers.html --> | ||
<module name="ModifierOrder"/> | ||
<module name="RedundantModifier"/> | ||
|
||
<!-- Checks for blocks. You know, those {}'s --> | ||
<!-- See http://checkstyle.sf.net/config_blocks.html --> | ||
<module name="AvoidNestedBlocks"/> | ||
<module name="EmptyBlock"/> | ||
<module name="LeftCurly"/> | ||
<module name="NeedBraces"/> | ||
<module name="RightCurly"/> | ||
|
||
<!-- Checks for common coding problems --> | ||
<!-- See http://checkstyle.sf.net/config_coding.html --> | ||
<module name="EmptyStatement"/> | ||
<module name="EqualsHashCode"/> | ||
<module name="HiddenField"> | ||
<property name="ignoreSetter" value="true"/> | ||
<property name="ignoreConstructorParameter" value="true"/> | ||
</module> | ||
<module name="IllegalInstantiation"/> | ||
<module name="InnerAssignment"/> | ||
<module name="MagicNumber"/> | ||
<module name="MissingSwitchDefault"/> | ||
<module name="SimplifyBooleanExpression"/> | ||
<module name="SimplifyBooleanReturn"/> | ||
|
||
<!-- Checks for class design --> | ||
<!-- See http://checkstyle.sf.net/config_design.html --> | ||
<module name="FinalClass"/> | ||
<module name="HideUtilityClassConstructor"/> | ||
<module name="InterfaceIsType"/> | ||
<!-- use @com.google.common.annotations.VisibleForTesting for members that need to be accessed in test --> | ||
<module name="VisibilityModifier"/> | ||
|
||
<!-- Miscellaneous other checks. --> | ||
<!-- See http://checkstyle.sf.net/config_misc.html --> | ||
<module name="ArrayTypeStyle"/> | ||
<module name="UpperEll"/> | ||
<module name="FileContentsHolder"/> | ||
<module name="SuppressWarningsHolder" /> | ||
</module> | ||
|
||
<module name="SuppressionCommentFilter"/> | ||
<module name="SuppressWarningsFilter" /> | ||
|
||
</module> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
<FindBugsFilter> | ||
<Match> | ||
<!-- | ||
Transient field that isn't set by deserialization. | ||
This class contains a field that is updated at multiple places in the class, thus it seems to be part of the state of the class. | ||
However, since the field is marked as transient and not set in readObject or readResolve, it will contain the default value in any deserialized instance of the class. | ||
Bug kind and pattern: Se - SE_TRANSIENT_FIELD_NOT_RESTORED | ||
--> | ||
<Class name="com.microsoft.azure.vmagent.AzureVMAgent" /> | ||
<Field name="credentials" /> | ||
<Bug pattern="SE_TRANSIENT_FIELD_NOT_RESTORED" /> | ||
</Match> | ||
<Match> | ||
<!-- | ||
Method may fail to clean up stream or resource on checked exception | ||
This method may fail to clean up (close, dispose of) a stream, database object, or other resource requiring an explicit cleanup operation. | ||
In general, if a method opens a stream or other resource, the method should use a try/finally block to ensure that the stream or resource is cleaned up before the method returns. | ||
This bug pattern is essentially the same as the OS_OPEN_STREAM and ODR_OPEN_DATABASE_RESOURCE bug patterns, but is based on a different (and hopefully better) static analysis technique. We are interested is getting feedback about the usefulness of this bug pattern. To send feedback, either: | ||
send email to [email protected] | ||
file a bug report: http://findbugs.sourceforge.net/reportingBugs.html | ||
In particular, the false-positive suppression heuristics for this bug pattern have not been extensively tuned, so reports about false positives are helpful to us. | ||
See Weimer and Necula, Finding and Preventing Run-Time Error Handling Mistakes, for a description of the analysis technique. | ||
--> | ||
<!-- The issue was fixed, but the error is still there --> | ||
<Class name="com.microsoft.azure.vmagent.AzureVMManagementServiceDelegate" /> | ||
<Method name="createDeployment"/> | ||
<Bug pattern="OBL_UNSATISFIED_OBLIGATION_EXCEPTION_EDGE" /> | ||
</Match> | ||
</FindBugsFilter> |
Oops, something went wrong.