Proof of Concept

In the world of innovation and technological advancement, the journey from an idea to a successful product or solution is often filled with uncertainties. To mitigate risks and increase the chances…

Smartphone

独家优惠奖金 100% 高达 1 BTC + 180 免费旋转




Becoming A Spinnaker Contributor

Get Up To Speed

Set Up A Remote Development Environment

Lsyncd handles the file-watchers and pushing the files that had changed to the remote VM. If you are running on OSX, you might have to point Lsyncd at an updated version of rsync. The system rsync version might not be compatible. The configuration is pretty simple, and the documentation has lots of examples. Here is an example config:

SSH tunnels example:

The combination of lsyncd and ssh tunnels lets you push file changes to a remote box that runs the services, while the ports are also exposed locally. I ended up starting Clouddriver by hand for debugging. If you need to do that I found the following command helpful:

This command points the service at the halyard generated configs to give some continuity with the services started by Halyard. Add the debug-jvm option if that is the service you want to debug. The localGit repo also adds some start scripts in ~/dev/spinnaker/scripts.

Find A Beginner Friendly Issue

Navigating The Codebase

I received some direction on which files in the codebase were the most relevant. This knowledge gave me the right start to be able to piece together the related objects and find the right spot for the new functionality to go. I created a UML diagram and traced the code for some time before I made much progress in actually writing code. Then I established some testable goals and got started. This part is exclusively dependent on your skills as a developer so it won’t be covered here. The only thing I have to say is that I think Kotlin > Java > Groovy is the current attitude for new code.

First Pull Request

After hacking together what felt like, well, a hack. I attempted to cobble together a pull request. I committed my code and pushed to origin master according to the contribution guide and initiated a pull request. I start to celebrate then I see a message from Travis. I had forgotten the colon needed in the commit header. Easy enough, I edited my message with a rebase. As it turned out, I was less of a wiz with Git than I thought. After some failed attempts at remedying my problems, I opted to start a new branch and try a new pull request. A key take away here was learning that the community is open to helping you navigate the areas where you are unfamiliar. Aim to deliver a high-quality pull request but try not to be paralyzed by potential hiccups. For those who also struggle with rebases here is a little demo:

Second Pull Request

With some renewed direction I dug deeper into the codebase and came up with a solution that fit the patterns that were already present. I learned some tips for rebasing and writing the commit messages. The two that were key for me are:

These are pretty rudimentary but as unfamiliar as I was with some of the practices it was helpful to know the little tricks. The pull request passed the checks and was accepted quickly, with encouraging feedback from the community.

Conclusion

Contributing to the Spinnaker projects can be intimidating at first. I hope my experience will help others get up to speed quickly. I encourage the reader to get involved with the community and put in the effort to engage and contribute. I just started, and it has helped me grow as a developer. I have had the opportunity to get to know some great people in the community.

Add a comment

Related posts:

fun sister

I remember playing WWF with her. I woulda wish to. “fun sister” is published by Poyah.

Security Resolutions For The New Year

As we start the new year with great intentions, I wish you much success in all the goals you set out to achieve! But, there might be one small item that is actually a very big item, you potentially…