(Also see [remarkable][], the markdown parser created by the author of this cheatsheet)
| import javax.net.ssl.SSLParameters; | |
| import javax.net.ssl.SSLSocket; | |
| import javax.net.ssl.SSLSocketFactory; | |
| import java.io.*; | |
| /** Establish a SSL connection to a host and port, writes a byte and | |
| * prints the response. See | |
| * http://confluence.atlassian.com/display/JIRA/Connecting+to+SSL+services | |
| */ | |
| public class SSLPoke { |
| # to generate your dhparam.pem file, run in the terminal | |
| openssl dhparam -out /etc/nginx/ssl/dhparam.pem 2048 |
| # delete local tag '12345' | |
| git tag -d 12345 | |
| # delete remote tag '12345' (eg, GitHub version too) | |
| git push origin :refs/tags/12345 | |
| # alternative approach | |
| git push --delete origin tagName | |
| git tag -d tagName |
Whether you're trying to give back to the open source community or collaborating on your own projects, knowing how to properly fork and generate pull requests is essential. Unfortunately, it's quite easy to make mistakes or not know what you should do when you're initially learning the process. I know that I certainly had considerable initial trouble with it, and I found a lot of the information on GitHub and around the internet to be rather piecemeal and incomplete - part of the process described here, another there, common hangups in a different place, and so on.
In an attempt to coallate this information for myself and others, this short tutorial is what I've found to be fairly standard procedure for creating a fork, doing your work, issuing a pull request, and merging that pull request back into the original project.
Just head over to the GitHub page and click the "Fork" button. It's just that simple. Once you've done that, you can use your favorite git client to clone your repo or j
| #!/bin/bash | |
| set -e | |
| if [ $# -eq 0 ]; then | |
| echo "USAGE: $0 plugin1 plugin2 ..." | |
| exit 1 | |
| fi | |
| plugin_dir=/var/lib/jenkins/plugins |
| ## | |
| # WHOIS servers for new TLDs (http://www.iana.org/domains/root/db) | |
| # Current as of 2014-09-02 | |
| ## | |
| \.ac$ whois.nic.ac | |
| \.academy$ whois.donuts.co | |
| \.accountants$ whois.donuts.co | |
| \.active$ whois.afilias-srs.net | |
| \.actor$ whois.unitedtld.com |
| #!/bin/bash | |
| set -e | |
| UPDATES_URL="http://updates.jenkins-ci.org/download/plugins/" | |
| if [ $# -lt 2 ]; then | |
| echo "USAGE: $0 plugin-list-file destination-directory" | |
| exit 1 | |
| fi |
| node { | |
| echo 'Results included as an inline comment exactly how they are returned as of Jenkins 2.121, with $BUILD_NUMBER = 1' | |
| echo 'No quotes, pipeline command in single quotes' | |
| sh 'echo $BUILD_NUMBER' // 1 | |
| echo 'Double quotes are silently dropped' | |
| sh 'echo "$BUILD_NUMBER"' // 1 | |
| echo 'Even escaped with a single backslash they are dropped' | |
| sh 'echo \"$BUILD_NUMBER\"' // 1 | |
| echo 'Using two backslashes, the quotes are preserved' | |
| sh 'echo \\"$BUILD_NUMBER\\"' // "1" |