github.phpd.cn/thought-machine/please@v12.2.0+incompatible/docs/index.html (about) 1 2 <p class="index-open"><span class="green">Please</span> is a cross-language build system with an emphasis on high performance, extensibility and reproduceability. 3 It supports a number of popular languages and can automate nearly any aspect of your build process. 4 </p> 5 6 <div class="index-layout"> 7 <div> 8 <div> 9 <h1>What can Please do?</h1> 10 </div> 11 <div> 12 </div> 13 </div> 14 <div> 15 <div> 16 <img src="images/white3.png"> 17 <h2>Speed up your builds.</h2> 18 <p>Please is designed to parallelise builds & tests to make the most of your CPU. 19 It's written in Go so it's fast & efficient itself, and it can build just the required 20 parts of your code on each invocation.</p> 21 </div> 22 <div> 23 <img src="images/white2.png"> 24 <h2>Help your deployment</h2> 25 <p>All your code & dependencies get packed into a single file which can easily be 26 deployed & run on a server. This helps deploy languages like Python which don't 27 do this naturally.</p> 28 </div> 29 </div> 30 <div> 31 <div> 32 <img src="images/white4.png"> 33 <h2>Unify your build process.</h2> 34 <p>Because Please can build many languages already (and you can easily write rules 35 to teach it about others) you always invoke one tool to build any language or run 36 any test, simplifying your continuous integration and development processes.</p> 37 </div> 38 <div> 39 <img src="images/white5.png"> 40 <h2>Continuous integration & pre-merge testing.</h2> 41 <p>We've developed Please in tandem with our internal integration tools, so whenever 42 any of our engineers merges a pull request, we invoke it to make sure any affected 43 tests are passing before merging it in. Because Please allows fine-grained dependencies 44 and knows them for every test, we can run just the affected ones to keep this step 45 fast & lightweight.</p> 46 </div> 47 </div> 48 <div> 49 <div> 50 <img src="images/white6.png"> 51 <h2>Isolate your tests.</h2> 52 <p>Got integration tests that need to spin up servers, write files, and find ports? 53 No problem, by setting a flag on the test they can be run inside a Docker container 54 to keep them from clashing with one another.</p> 55 </div> 56 <div> 57 </div> 58 </div> 59 <div> 60 <div> 61 <p><a href="quickstart.html">Yes please, get Please</a></p> 62 <p><a href="basics.html">Please: Do stuff</a></p> 63 </div> 64 <div> 65 <p><a href="https://github.com/thought-machine/please">Get the source</a></p> 66 </div> 67 </div> 68 </div>